![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
后缀数组
Loi_a
这个作者很懒,什么都没留下…
展开
-
tyvj1860 后缀数组 模板
注意常数优化(优化输出等)。#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int MAXN=2e5+10;int n,sa[MAXN],tmp[MAXN],rank[MAXN],sec[MAXN],cnt[MAXN],height[MA原创 2016-12-26 17:19:44 · 399 阅读 · 0 评论 -
poj 3261 Milk Patterns 后缀数组+二分
题意是求可以重复的出现次数超过k次的子串,最长是多少。 样例输入 8 2 1 2 3 2 3 2 3 1 输出 4二分验证是否有连续的k-1个height大于所验证的答案。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#define SZ 20005using nam原创 2016-12-27 08:03:15 · 408 阅读 · 0 评论 -
bzoj 3238 ahoi2013差异 后缀数组
#include<set>#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#define maxn 500005#define LL long longusing namespace std;char s[maxn];set<int> S;set<int>原创 2017-03-17 23:18:32 · 321 阅读 · 0 评论 -
bzoj 4698 Sandy的卡片 后缀数组
可以把原序列转化为差分序列,题意就变成了求这n个差分序列的最长公共子串。然后就可以连成一串,用后缀数组做。二分一个答案,询问是否有连续n个后缀LCP>=mid而且首位所属的串不相同。#include<cstdio>#include<cstring>#include<iostream>#define maxn 1100005using namespace std;void read(int原创 2017-04-19 12:07:40 · 459 阅读 · 0 评论 -
bzoj 1031 字符加密 后缀数组
把整个前n-1个字符复制到字符串末尾,求个后缀数组搞就可以。#include<cstdio>#include<cstring>#include<iostream>#define maxn 200010using namespace std;char s[maxn];struct Suffix{ int sa[maxn],rank[maxn],height[maxn];原创 2017-04-25 16:19:13 · 606 阅读 · 2 评论