随笔分类 -  后缀自动机

摘要:显然只需求LCP(i,j)就可以了。 将s反转,然后插入后缀自动机。由于后缀自动机的link指针构成了一棵后缀树,而字符串又反转过,所以两个结点的LCP就是LCA。 树形DP,求出以每个结点为LCA的个数就可以了。 代码: 1 #include<iostream> 2 #include<cstdio 阅读全文
posted @ 2017-02-14 08:45 gjghfd 阅读(276) 评论(0) 推荐(1)
摘要:题目大意: 对于一个给定长度为N的字符串,求它的第K小子串是什么。 思路: 先对s构造后缀自动机。 令g[x]为x节点代表的字符串个数 当T=0时,g[x]=1 当T=1时,由于link指针将自动机构成了一颗后缀树,所以每个节点的g就是子树中的g之和。 令f[x]为x节点之后有多少种字符串。 f[x 阅读全文
posted @ 2017-02-13 17:40 gjghfd 阅读(179) 评论(0) 推荐(1)