后缀数组
文章平均质量分 77
sprite_
这个作者很懒,什么都没留下…
展开
-
poj3261Milk Patterns(后缀数组)
题目链接:http://poj.org/problem?id=3261题目大意:给一个字符串。问这个字符串中可重叠子串出现的次数超过K次的最大子串长度。思路:利用后缀数组height数组性质,我们可以知道相邻子串的公共前缀x,只要x的出现次数大于等于K就可以了。那么我们可以二分长度然后判断是否存在这种情况即可。代码:#include#include#include原创 2016-08-03 21:30:46 · 642 阅读 · 0 评论 -
poj 1743 Musical Theme(后缀数组、二分)
题目链接:http://poj.org/problem?id=1743题目大意:求不重叠的最长相同变化的子串,也就是最大长度的不重叠重复子串,输出其长度。思路:可以利用后缀数组中的height数组。height数组的性质:hegiht[i]表示后缀排名i和i-1的最长公共子序列。现在要求不重叠的重复子串,我们可以将height分组,对于hegiht[i]>=p来说,既然已经原创 2016-08-23 16:00:01 · 493 阅读 · 0 评论 -
URAL1297Palindrome(最长回文子串 、后缀数组最长公共前缀+RMQ)
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1297题目大意:给一个字符串。求出其最长回文子串。思路:思路来自论文例题。首先将字符串倒转以后连接在原字符串的后面,中间添加上一个'$'字符。接下来我们只需要枚举i从0到n-1,对于字符i来说以其为中心的最长回文子串。当回文串为奇数的时候,我们只要比较i和2*n原创 2016-08-26 15:41:49 · 859 阅读 · 0 评论