
字符串—后缀数组
文章平均质量分 79
Ezereal
这个作者很懒,什么都没留下…
展开
-
poj1743:Musical Theme(后缀数组)
题意:有N(1 1.长度至少为5个音符。 2.在乐曲中重复出现。(可能经过转调,“转调”的意思是主题序列中每个音符都被加上或减去了同一个整数值) 3.重复出现的同一主题不能有公共部分。 思路:这是论文里一道题,那么我们通过进行二分来求论文里的k值,求出height[i]大于k的时候,然后求出这个区间里面起始位置最大的差值,要求差值也原创 2016-03-31 13:59:55 · 365 阅读 · 0 评论 -
后缀数组模板讲解
const int N = int(2e5)+10; int cmp(int *r,int a,int b,int l){ return (r[a]==r[b]) && (r[a+l]==r[b+l]); } // 用于比较第一关键字与第二关键字, // 比较特殊的地方是,预处理的时候,r[n]=0(小于前面出现过的字符) int wa[N],wb[N],ws[N],w转载 2016-03-31 14:28:50 · 704 阅读 · 0 评论 -
poj 3261 Milk Patterns (后缀数组)
题意:可重叠的k次最长重复子串。 思路:后缀数组。先二分答案,然后将后缀分成若干组。这里要判断的是有没有一个组的后缀个数不小于k。如果有,那么存在k个相同的子串满足条件,否则不存在。时间复杂度为O(nlogn)。 没用二分,直接一遍循环查找结果过掉的代码: #include #include #include #include #include #inclu原创 2016-03-31 17:08:21 · 592 阅读 · 0 评论