
后缀数组
九野的博客
这个作者很懒,什么都没留下…
展开
-
SPOJ 694 求不同子串数 后缀数组
题目链接:http://www.spoj.com/problems/DISUBSTR/ 题意: T个测试数据 每个测试数据一行:字符串,求该字符串有多少个不同的子串。 论文思路: 每个子串一定是某个后缀的前缀,那么原问题等价于求所有后缀之间的不相 同的前缀的个数。如果所有的后缀按照suffix(sa[1]), suffix(sa[2]), suffix(sa[3]), …… ,原创 2014-01-22 10:38:09 · 2081 阅读 · 0 评论 -
POJ 2774 最长公共子串
题意: 给定2个字符串,求最长公共子串的长度 思路: 把两个字符串相连得到S,则他们的公共子串就是部分S的后缀子串的前缀。 因为是相同的子串,所以sa必然是相邻的,因此扫一下height,若sa[i] 与 sa[i-1] 的后缀分别在分割符$前后,那就是两个字符串的后缀,求其最长公共前缀(即height[i])就是一个公共子串。 #include #include #includ原创 2014-01-23 10:35:18 · 1601 阅读 · 0 评论 -
后缀数组模版
----by kuangbin #include #include #include #include #include #include #define N 100005 #define M 105 using namespace std; #define rank Rank /* * 后缀数组 * DC3算法,复杂度O(n) * 所有的相关数组都要开三倍原创 2014-01-22 10:40:43 · 1729 阅读 · 0 评论