BZOJ 2090 [Poi2010]Monotonicity 2 DP+线段树...
分类:
其他好文 时间:
2015-09-22 11:33:51
阅读次数:
181
BZOJ 2085 [Poi2010]Hamsters Hash+倍增floyd...
分类:
其他好文 时间:
2015-08-31 21:46:22
阅读次数:
221
设f[i]表示以i为结尾的最长的合法序列的长度,=号直接维护,号用两棵树状数组维护即可,时间复杂度$O(n\log n)$。#include#define N 1000000int n,k,i,j,a[N],e[N+1],bl[N+1],bg[N+1],f[N],ans;char s[N];inli...
分类:
其他好文 时间:
2015-08-20 01:13:52
阅读次数:
167
设g[i][j]为i串至少加上几个字符后才能包含j,可以通过Hash求出。然后就是求经过m-1条边的最短路,用倍增加速Floyed即可,时间复杂度$O(n^3\log m)$。#include#include#define rep(i,n) for(int i=0;ib)a=b;}struct ma...
分类:
其他好文 时间:
2015-08-19 19:27:48
阅读次数:
168
暴力枚举$k$,对于一个子串,计算它正着的hash值以及反着的hash值,取最小值得到其最终hash值。对于$k$,一共有$\lfloor\frac{n}{k}\rfloor$个子串,计算出它们的最终hash值即可统计出不同子串的个数。时间复杂度$O(n\log n)$。#includetypede...
分类:
其他好文 时间:
2015-08-05 06:30:26
阅读次数:
156
题目大意:给定nn个数,两个人轮流取,每次可以取走任意一些数,获得的分值是这些数中的最小值
两个人都想让自己的分值-对方的分值最大,求最终先手得分-后手得分显然每个人取走的都是当前剩下的数中最大的一些数
那么考虑倒着做,令fif_i表示剩余最小的ii个数时先手-后手的最大差值
那么有DP方程fi=max{aj+1?fj}(0≤j<i)f_i=max\{a_{j+1}-f_j\}(0\leq j...
分类:
其他好文 时间:
2015-06-29 10:17:43
阅读次数:
345
首先二分答案。。。然后这张图变成了有一些有向边,有一些无向边然后就是混合图欧拉回路的判断我们知道如果是有向图,它存在欧拉回路的等价条件是所有点的出度等于入度对于混合图。。。先不管有向边,把无向边随意定向首先要满足条件就是当前图的点的度数都是偶数,因为把一条边反向端点的出度入度之差改变了2,奇偶性不变...
分类:
其他好文 时间:
2015-05-17 00:36:26
阅读次数:
244
题解:
首先我们搞个 ACAC 自动机,然后每个串在 ACAC 自动机上 bfsbfs 求出 f(i,j)f(i,j) 表示串 ii 后面最少接 f(i,j)f(i,j) 个字母能搞出来串 jj 。
然后把每个串当成一个点,倍增 floydfloyd 求两点之间恰好走 mm 步的最短路。
代码:
#include
#include
#include
#include
#includ...
分类:
其他好文 时间:
2015-05-15 20:03:13
阅读次数:
232
题解:
枚举串长,数据范围20W。
然后串长为 ii 时需要枚举 ?ni?\lfloor \frac{n}{i}\rfloor 次。
加一起是 O(nlogn)O(nlogn)
我们把每个串hash一下就好了。
然后自然溢出就好了,,,。
我无限WA啊。。最后wyfcyx给我提供了一个种子:200019……
Qwq。。。。。。。。。。。。。。。。。。。。。。。。。。
代码:...
分类:
其他好文 时间:
2015-05-15 15:40:56
阅读次数:
143
显然只有偶数长度的串符合题意,并且如果一个串符合题意,那么从其首尾各截掉一个字符也符合题意。于是枚举中心,二分可以向左右扩展的最远距离,累计答案。#include#include#includeusing namespace std;#define N 500001typedef unsigned ...
分类:
其他好文 时间:
2015-04-17 13:29:57
阅读次数:
109