
后缀数组
neofung
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
POJ3261 Milk Patterns,后缀数组, 出现k次的重复子串
也是根据height来计算前缀,同时利用二分来检索答案,根据每次二分的最少长度来给height来分组 /******************************************************************************* # Author : Neo Fung # Email : neosfung@gmail.com # Last modified原创 2012-06-02 22:02:52 · 1019 阅读 · 0 评论 -
POJ1743 Musical Theme,后缀数组,最长重复不重叠子串,二分检索答案
开始进入后缀数组的学习。 首先分析输入和题目,可以把数组转化为相邻两个元素的差,然后题目就转化为求最长不重叠子串的长度。 因为数组转化为两个元素的差,所以需要在新数组的最后补上一个元素0,同时最长长度要+1方为答案。 而后缀数组的资料可以参考罗穗骞的论文,本人在这里就不献丑了。 P.S. 因为元素之差可能为负数,所以需要同时加上一个数使得新数组的元素均为正,同时注意倍增算法Doubling原创 2012-06-02 16:34:30 · 883 阅读 · 0 评论 -
SPOJ694 Distinct Substrings, 后缀数组, 不相同的子串的个数
这里引用的是罗穗骞论文中关于不相同子串个数的解法: “每个子串一定是某个后缀的前缀,那么原问题等价于求所有后缀之间的不相同的前缀的个数。如果所有的后缀按照 suffix(sa[1]), suffix(sa[2]),suffix(sa[3]), …… ,suffix(sa[n])的顺序计算,不难发现,对于每一次新加进来的后缀 suffix(sa[k]),它将产生 n-sa[k]+1 个新的前缀。但原创 2012-06-03 09:53:57 · 766 阅读 · 0 评论 -
Ural1517 Freedom of choice, 后缀数组,最长公共子串
也是看后缀数组中的套题。。。 /******************************************************************************* # Author : Neo Fung # Email : neosfung@gmail.com # Last modified: 2012-06-05 21:27 # Filename:原创 2012-06-05 21:37:59 · 713 阅读 · 0 评论 -
一个一万字长的连续字符串,找出其所有子串,并统计子串的出现次数
详情可以参考罗穗骞关于后缀数组的论文,这里给出代码: /* * ===================================================================================== * * Filename: acm.cpp * * Description: 一个一万字长的连续字符串,找出其所有子串,并原创 2013-05-06 21:49:12 · 1141 阅读 · 0 评论