上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 19 下一页
摘要: 传送门:http://uoj.ac/problem/131 思路:先求出height,然后根据排名重新给后缀标号,按height从大到小做,每次合并i和i-1,用并查集维护,更新答案。 #include#include#include#define max(a,b) (a>b?a:b)#defi... 阅读全文
posted @ 2015-08-16 16:23 orzpps 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 传送门:http://www.tsinsen.com/A1484 思路:首先对于添加操作,后缀数组是很难实现的,因为这会改变很多个后缀。 所以换一个思路,把操作离线,倒着实现所有操作,这样插入就变成删除了。 删除操作就好做得多了。 先把B串接到A串后,用特殊字符隔开。 有询问时,还是向上向下二分... 阅读全文
posted @ 2015-08-16 10:39 orzpps 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 传送门:http://codeforces.com/problemset/problem/232/D 思路:首先就是差分,设d[i]=a[i+1]-a[i]; 然后题目的”匹配"就可以转化为差分数组每一位的和为0 也就是这段区间取相反数之后可以与原区间匹配。 这就可以转化为字符串问题。 设当前询... 阅读全文
posted @ 2015-08-14 18:02 orzpps 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3676 思路:首先要知道一个结论,本质不同的回文串的个数是O(n)的。 从manacher的过程就可以看出来,使最远边界扩展的回文串才是与之前本质不同的,边界只会扩展到n,所以个数是... 阅读全文
posted @ 2015-08-13 17:16 orzpps 阅读(183) 评论(1) 推荐(0) 编辑
摘要: 传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1031 思路:非常水的后缀数组,把串复制一遍到后面,后缀排序即可。 #include#include#includeconst int maxn=200010;using names... 阅读全文
posted @ 2015-08-13 17:06 orzpps 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3585 思路:又是一道莫队+分块。 对权值分块,大于n的直接不用管。 #include#include#include#include#includeconst int maxn=2... 阅读全文
posted @ 2015-08-12 15:35 orzpps 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2821 思路:分块大法好。。。 分成sqrt(n)块,先预处理出连续的块的答案,f[i][j]表示第i块到第j块的答案。 然后再开一个前缀和数组sum[i][j]表示前i个块第j种字... 阅读全文
posted @ 2015-08-12 10:05 orzpps 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3809 思路:第一反应是莫队+树状数组,复杂度O(n^1.5*logn) TLE。。。 于是就有了一个想法,分块维护美丽度,再套一个莫队。 这样莫队移动端点就是O(1)的,每次询问就... 阅读全文
posted @ 2015-08-11 16:13 orzpps 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3289 思路:比较裸的莫队。 交换次数显然是逆序对个数... 然后考虑怎么从[l,r]的逆序对个数得到[l,r+1]的逆序对个数。 先离散化,用树状数组维护权值,我们只要考虑对于新加... 阅读全文
posted @ 2015-08-11 10:09 orzpps 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3052 思路:带修改的树上莫队。 比不带修改的多加上一个时间维。 对于时间的移动,那么就模拟一下这段时间的修改,更新答案。 然后块的大小要设为n^(2/3)。 至于时间复杂度的证明.... 阅读全文
posted @ 2015-08-10 17:13 orzpps 阅读(130) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 19 下一页