后缀数组+RMQ。 1 /* 2459 */ 2 #include <iostream> 3 #include <sstream> 4 #include <string> 5 #include <map> 6 #include <queue> 7 #include <set> 8 #include
分类:
其他好文 时间:
2016-02-03 13:31:45
阅读次数:
201
综合性很强的题目。存在环,可以用tarjan处理,然后需要求LCA。并查集+RMQ可以搞。非常不错的题目。 1 /* 4297 */ 2 #include <iostream> 3 #include <sstream> 4 #include <string> 5 #include <map> 6 #
分类:
其他好文 时间:
2016-01-30 18:23:08
阅读次数:
163
关于RMQ的问题我就直接截取刘汝佳的《算法竞赛训练指南》上的解释了
分类:
其他好文 时间:
2016-01-28 13:51:44
阅读次数:
117
题目大意:在原串中找到一个拥有连续相同子串最多的那个子串比如dababababc中的abababab有4个连续的ab,是最多的如果有同样多的输出字典序最小的那个这里用后缀数组解决问题:枚举连续子串的长度l , 那么从当前位置0出发每次递增l,拿 i 和 i+l 开头的后缀求一个前缀和val , 求解...
分类:
编程语言 时间:
2016-01-24 16:54:01
阅读次数:
218
本题既不是rmq也不会simple(对我这种蒟蒻而言) 一开始只能想到树套树套树TAT然后看了看数据范围果断滚去膜拜题解。 然后才知道预先排序一下可以弄掉一个log。不过得写可持久化线段树套可持久化线段树。。 然后愉悦的开码了。。。感人的是竟然不用调。。。更感人的是交上去直接tle了。 ...
分类:
其他好文 时间:
2016-01-18 22:55:00
阅读次数:
495
二分查找求出k大串, 然后正反做后缀数组, RMQ求LCP, 时间复杂度O(NlogN+logN)---------------------------------------------------------------------#include#include#include#include...
分类:
编程语言 时间:
2016-01-14 23:43:12
阅读次数:
288
一开始直接无脑tarjan,回溯只能一层层往上走,太慢了,加了各种优化还是TLE后来了解到LCA倍增法(在线)。复杂度其实相比LCA转RMQ以及tarjan是要稍差一些,但是其中能同步维护的只有LCA倍增,很神奇的算法#include"cstdio"#include"queue"#include"c...
分类:
其他好文 时间:
2016-01-02 01:07:25
阅读次数:
941
/*---------------倍增算法+RMQ后缀数组模板--------------输入:从0开始的字符串g,长度len最大为10^6输出: sa[]表示:n 个后缀从小到大进行排序之后把排好序的后缀的开头位置顺 次放入 sa 中,sa[i]表示排第i位的字符串开头是sa[i],因为添加了一个...
分类:
编程语言 时间:
2016-01-02 00:55:59
阅读次数:
254
自己看着大牛的论文学了一下后缀数组,看了好久好久,想了好久好久才懂了一点点皮毛TAT 然后就去刷传说中的后缀数组神题,poj3693是进化版的,需要那个相同情况下字典序最小,搞这个搞了超久的说。 先简单说一下后缀数组。首先有几个重要的数组: ·SA数组(后缀数组):保存所有...
分类:
编程语言 时间:
2015-12-12 11:02:32
阅读次数:
209
士兵杀敌(二)时间限制:1000 ms | 内存限制:65535 KB 难度:5描述南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。小工是南将军手下的军师,南将军经常想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。南将军的某次询问之后士兵i可能又杀敌q人,之后南将军...
分类:
其他好文 时间:
2015-12-06 16:03:14
阅读次数:
110