后缀数组
xiaoxiaoluo
这个作者很懒,什么都没留下…
展开
-
poj 3261 求可重叠k次最长重复子串
选自《后缀数组--处理字符串的有力工具》题目大意:给出字符串长度n,还有可重复子串至少出现k次。求这个重复子串的最长长度。解题思路:和poj1743差不多,不同的是二分时,判断一个组的后缀子串个数是否小于k#include #include #include #include using namespace std;const int maxn = 20010;转载 2012-06-14 03:08:51 · 1100 阅读 · 0 评论 -
spoj 694 不相同的子串的个数
转自:《后缀数组---处理字符串的有力工具》题目大意:要求求一个字符串中不同子串的个数解题思路:利用后缀数组,每个子串一定是某个后缀子串的前缀,求多少个不同的子串等价于求出所有后缀之间的不相同的前缀的个数。设字符串为str,sa[i]表示排名第i的后缀从str的第sa[i]个位置开始,rank[i]表示str[i]开始的后缀排第几位height[i]表示sa[i]和sa[i-1]的转载 2012-06-20 01:20:04 · 1981 阅读 · 0 评论 -
ural 1297 最长回文子串
参考:基本是看他的http://bbezxcy.iteye.com/blog/1418354参考论文《后缀数组--处理字符串的有力工具》题目大意:要你求出一个字符串的最长回文子串解题思路:常规方法是枚举每个字符,每个字符两边扩展,比如第i个字符,分奇偶两种str[m] .... str[i] ..... str[n] m到i的字符串与n到i的字符串匹配str[m]......s转载 2012-06-23 20:58:58 · 673 阅读 · 0 评论 -
poj 1743 求不可重叠最长字符串
http://hi.baidu.com/blackstar08/blog/item/6909b391bb308a83a977a429.html题目大意:给定一段音乐乐谱,其中的音符用数字表示出来( 范围 [ 1,88 ] ),要求的是这段乐谱的主旋律。所谓的主旋律,就是满足以下三点要求的一段子串:1、音符的数目至少为5;2、重复出现在乐谱中的另一个地方;3、不相互重叠;转载 2012-06-14 02:23:16 · 717 阅读 · 0 评论