Komorebi
首页
文章
标签
关于
友链
CodeForces 888E 折半搜索
E. Maximum Subsequence You are given an array a consisting of n integers, and additionally an integer m. You have to choose some sequence of indices b1, b2, …, bk (1 ≤ b1 < b2 < … < bk ≤ n) i
2018-01-26
题解
CodeForces 798D 玄学 贪心
麦克有两个只包含正整数的数组 A = [a1, a2, …, an] 和 B = [b1, b2, …, bn] ,长度都为 n 。 他现在想要选出 k 个数 P = [p1, p2, …, pk] 满足 1 ≤ pi ≤ n 并且数组 P 中的数字互不相等。要求P数组满足: 2·(ap1 + … + apk) 比数组 A 的和大,并且 2·(bp1 + … + bpk) 比数组 B 的和大。当然
2018-01-26
题解
HDU 5695 拓扑排序+优先队列
Gym Class 众所周知,度度熊喜欢各类体育活动。 今天,它终于当上了梦寐以求的体育课老师。第一次课上,它发现一个有趣的事情。在上课之前,所有同学要排成一列, 假设最开始每个人有一个唯一的ID,从1到NN,在排好队之后,每个同学会找出包括自己在内的前方所有同学的最小ID,作为自己评价这堂课的分数。麻烦的是,有一些同学不希望某个(些)同学排在他(她)前面,在满足这个前提的情况下,新晋体育课老师
2018-01-26
题解
51nod 1672 区间交
题意: 小A有一个含有n个非负整数的数列与m个区间。每个区间可以表示为l{i},r{i}li,ri。 它想选择其中kk个区间, 使得这些区间的交的那些位置所对应的数的和最大。 数据范围:1<=n<=1e5,1<=k<=m<=1e5 解题思路: 先根据左端点从小到大对区间排序,枚举每个区间的左端点当成交的左端点,对于右端点,选择的是左端点比交的左端点小的区间,把它们的右
2018-01-26
题解
51nod 1449 砝码称重
题意: 你用无数个砝码,每个砝码的重量都是w的幂数,而且每个砝码重量都不同。问能不能用天平与这些砝码称重量为m的物品。 解题思路: 如果让一些砝码表示m的话,只需要将m转化为w进制数,然后要求每一位不是0就是1,然而这里可以利用天平使m加上一个由0、1组成的w进制数等于另一个由0、1组成的w进制数,也就是说,转换成了m可以表示成两个由0、1组成的w进制数的差。 如果是0或1,明显这一位可以构造出来
2018-01-26
题解
连通图专题
强连通分量tarjan:https://www.byvoid.com/zhs/blog/scc-tarjan http://www.cnblogs.com/zufezzt/p/4699731.html 缩点:https://segmentfault.com/a/1190000009187840 求割点:http://www.cnblogs.com/en-heng/p/4002658.html 求桥
2018-01-26
题解
线段树专题
POJ 3264题意:给出一串的数字,然后给出一个区间a b,输出从a到b的最大的数和最小的数的差 解题思路:直接跑两次query,一次查询最小,一次查询最大即可。 POJ 2528题意:n(n<=10000)个人依次贴海报,给出每张海报所贴的范围li,ri(1<=li<=ri<=10000000),求出最后还能看见多少张海报。 解题思路:离散化+线段树。 离散化部分: 如
2018-01-26
题解
AC自动机专题
HDU 2896别把num设成-1…因为有多个母串… POJ 2778题意:有m种DNA序列是有疾病的,问有多少种长度为n的DNA序列不包含任何一种有疾病的DNA序列。(仅含A,T,C,G四个字符) 解题思路: AC自动机+矩阵快速幂 http://blog.csdn.net/morgan_xww/article/details/7834801 这里涉及到用Trie图构造邻接矩阵… 于是补了一下T
2018-01-26
题解
KMP&扩展KMP&Manacher专题
KMP模板参考视频:https://www.bilibili.com/video/av3246487/ https://www.bilibili.com/video/av11866460/ https://www.bilibili.com/video/av16828557/ 参考博客:https://subetter.com/algorithms-and-mathematics/kmp-algor
2018-01-26
题解
数论基础专题
Lightoj1282 求n^k的前三位的方法:对于给定的一个数n,它可以写成10^a,其中这个a为浮点数,则n^k=(10^a)^k=10^ak=(10^x)(10^y);其中x,y分别是a*k的整数部分和小数部分,对于t=n^k这个数,它的位数由(10^x)决定,它的位数上的值则有(10^y)决定,因此我们要求t的前三位,只需要将10^y求出,在乘以100,就得到了它的前三位。 fmod(f,
2018-01-26
题解
1
…
16
17
18
19
20
…
23
Search
×
keyword