DescriptionInput一行,一个字符串SOutput一行,一个整数,表示所求值Sample InputcacaoSample Output54HINT2#include#include#includeusing namespace std;typedef long long LL;cons...
分类:
其他好文 时间:
2015-06-08 17:05:02
阅读次数:
139
首先把后缀数组和height数组都搞出来。。。然后用两个单调栈维护$[l, r]$表示对于一个点$x$,满足$height[x] \le height[l..x] \ \&\&\ height[x] 11 #include 12 13 using namespace std;14 typedef ....
分类:
其他好文 时间:
2015-05-03 23:27:36
阅读次数:
148
题目链接: BZOJ - 3236 BZOJ - 3809算法一:莫队首先,单纯的莫队算法是很好想的,就是用普通的第一关键字为 l 所在块,第二关键字为 r 的莫队。这样每次端点移动添加或删除一个数字,用树状数组维护所求的信息就是很容易的。由于这里有 logn复杂度,所以复杂度还是挺高的。于是 BZ...
分类:
其他好文 时间:
2015-01-24 19:57:43
阅读次数:
188
题目大意:求所有后缀长度减去LCP长度的二倍。
思路:之前用后缀数组写过,但是做法并不是很直观。现在学了后缀树再来写一次,这次思路就很清晰了。
首先我们把字符串按照倒序插入到后缀树中。形成的后缀树有一个很好的性质,连个后缀节点的LCA就是这两个后缀的LCP的位置,LCA的len值自然就是两个后缀的LCP。
建好树之后,进行一次树形DP,统计出来每两个后缀的LCP长度,计入总答案。
...
分类:
其他好文 时间:
2015-01-17 18:06:18
阅读次数:
221
首先 秦神QY Orz
题解:
这道题后缀数组过于鬼畜(wo’tai’ruo’bu’gan’xie)
所以写了简单好写易于理解不用分治不用RMQ的SAM大叔。
题解:
首先其实我们需要一个后缀树,然后两个后缀的lcp就是它们lca的len。
后缀树可以通过反序后缀自动机得到,这个很水。
然后len的性质就是后缀自动机的那个len(我写的‘deep’)。
后缀树上DP就水了...
分类:
其他好文 时间:
2015-01-15 09:27:52
阅读次数:
199
题目链接:www.lydsy.com/JudgeOnline/problem.php?id=3238后缀数组 这题题面给的暗示性就很强啊……一看就是要用后缀xx一家的算法,由于本蒻只会后缀数组所以就拿后缀数组写了。 这个题目的要求……我们很明显可以直接预处理出来T(i)+T(j)的总和,为n...
分类:
其他好文 时间:
2015-01-08 19:51:11
阅读次数:
467
题目大意:给定一个字符串,求Σ[1
前两项是可以O(1)求的 我们要求的就是LCP之和
对反串建立后缀自动机 那么parent指针连成的树就是后缀树
直接在后缀树上DP就行- -
对于每个节点统计所有子树两两right集合大小乘积之和乘上这个节点的深度即可
QY神在学校讲了一天的SAM。。。 现在我觉得我还是回去学大型建筑机械吧233- -
#include
#include
#i...
分类:
其他好文 时间:
2015-01-05 16:47:28
阅读次数:
141