![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
后缀数组
lixuwei2333
这个作者很懒,什么都没留下…
展开
-
后缀数组模板【求不同字串的个数】
ldq链接:https://li-fish.github.io/2018/05/03/cjqx5558400d04kc2v3xgtu1d/sa[i]表示排名为i的后缀位置rank[i]表示以suf(i)的排名height[i]表示suf(sa[i])和suf(sa[i-1])的最长公共前缀ch下标从0开始,n是ch的长度#include <bits/stdc++.h...原创 2019-02-16 15:05:18 · 199 阅读 · 0 评论 -
Milk Patterns 【不可重叠最长重复子串】
二分字串长度然后按照height将后缀分割分组,对于每一组选择最左和最右的后缀,判断是否重合。题目链接本题需要先差分,然后再去头,“不重合”的条件为相隔至少为1。#include <iostream>#include <algorithm>#include <cstdlib>#include <cstring>#inclu...原创 2019-02-16 17:23:05 · 330 阅读 · 0 评论 -
POJ 3261 Milk Patterns 【求可重叠至少出现k次的最长重复子串】
模板题,二分长度,然后根据height分组进行验证。#include <iostream>#include <algorithm>#include <cstdlib>#include <cstring>#include <cstdio>#include <bits/stdc++.h>using namespa...原创 2019-02-16 20:11:05 · 117 阅读 · 0 评论 -
spoj687 【重复次数最多的连续重复子串】
题目链接:https://vjudge.net/problem/SPOJ-REPEATS 推荐博客:https://blog.csdn.net/queuelovestack/article/details/53031731#include <iostream>#include <algorithm>#include <cstdlib>#incl...原创 2019-02-17 10:35:42 · 699 阅读 · 0 评论 -
最长公共字串(线性复杂度)
将两个字符串连接起来,中间插入分割符。按照后缀的位置,将后缀分为两类。遍历一遍height,求排名相邻的不同类后缀的最长公共前缀的最大值。 ps:简单思考可得,答案不会是非相邻的不同类后缀的最长公共前缀。#include <iostream>#include <algorithm>#include <cstdlib>#include ...原创 2019-02-17 10:52:56 · 257 阅读 · 0 评论 -
Candies 【后缀数组】【主席树】
题目链接:https://vjudge.net/problem/Gym-102302K前置技能:后缀数组处理本质不同的字串。#include <bits/stdc++.h>#define rep(i, a, b) for(int i = (a); i <= (b); i++)#define per(i, a, b) for(int i = (a); i >= ...原创 2019-08-27 16:42:42 · 173 阅读 · 0 评论 -
CCPC2019网络赛 array【后缀数组】【主席树】【线段树上二分】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6703#include <bits/stdc++.h>#define rep(i, a, b) for(int i = (a); i <= (b); i++)#define per(i, a, b) for(int i = (a); i >= (b); i++)#de...原创 2019-08-27 16:50:38 · 308 阅读 · 0 评论