- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.题意:
找出原串中出现超过2次的子串的数 目,每个子串出现多次时不可重叠。
分析:
枚举子串的长度len,找到满足连续的height[i] len的最左端 l 和最右端的位置 r,如果r-l len
说明子串没有重叠。
#include cstdio
#include cstring
#include algorithm
using namespace std;
const int maxn 1005;
int N;
char s[maxn];
int sa[maxn],t[maxn],t2[maxn],c[maxn];
void suffix_sa(int n, int m)
{
int i, *x t, *y t2;
for (i 0; im; i++) c[i] 0;
for (i 0; in; i++) c[x[i] s[i]]++;
for (i 0; im; i++) c[i] + c[i-1];
for (i n-1; i 0; i--) sa[--c[x[i]]] i;
for (int k 1; k n; k 1) {
int p 0;
for (i n-k; in; i++) y[p++] i;
for (i 0; in; i++) if (sa[i] k) y[p++] sa[i]-k;
for (i 0; im; i++) c[i] 0;
for (i 0; in; i++) c[x[y[i]]]++;
for (i 0; im; i++) c[i] + c[i-1];
for (i n-1; i 0; i--) sa[--c[x[y[i]]]] y[i];
swap(x,y);
p 1; x[sa[0]] 0;
for (i 1; in; i++)
x[sa[i]] y[sa[i-1]] y[sa[i]]y[sa[i-1]+k] y[sa[i]+k]?p-1:p++;
if (p n) break;
m p;
}
}
int rank[maxn],height[maxn];
void getheight()
{
int i, j , k 0;
for (i 1; i N; i++)
rank[sa[i]] i;
for (i 0; iN; i++){
if (k) k--;
int j sa[rank[i]-1];
while (s[i+k] s[j +k]) k++;
height[rank[i]] k;
}
}
void solve()
{
N strlen(s);
suffix_sa(N+1,z+1);
getheight();
int res 0;
int i, j , k, l, r;
for (i 1; iN/2+1; i++)
{
l N,r -1;
for (j 2; j N; j ++)
{
if (height[j] i)
{
r max(r,max(sa[j-1],sa[j]));
l min(l,min(sa[j-1],sa[j]));
}
else if (height[j]i)
{
您可能关注的文档
- 2019河南中考数学真题及解析.pdf
- 2019届高考专题复习之非连续性文本阅读.ppt
- 2019届高考漫画专题复习.ppt
- 2019届惠州市二调理科综合试题.pdf
- 2019高三物理专题复习课件.ppt
- 2019九年级中考口语话题简述.ppt
- 2019酒店年度经营分析报告.ppt
- 2019届文学类文本阅读之小说阅读指导.ppt
- 2019年北京丰台区高三二模英语及答案解析试卷.ppt
- 2019年成都房地产市场年报-正合股份-20200107 v20.pdf
- 2025至2030全球及中国订单管理软件行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030国内液晶显示屏行业市场发展分析及竞争策略与投资发展报告.docx
- 2025至2030港口设备市场前景分析及细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030量子加密通信行业发展现状及投资前景战略报告.docx
- 2025至2030中国音乐合成器行业运营态势与投资前景调查研究报告.docx
- 2025至2030中国液压行业市场发展现状及竞争格局与投资机会报告.docx
- 2025至2030中国异戊橡胶行业运营态势与投资前景调查研究报告.docx
- 2025至2030帕西肽行业市场占有率及有效策略与实施路径评估报告.docx
- 2025至2030全球及中国超收敛集成系统行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030尖齿铣刀行业市场占有率及有效策略与实施路径评估报告.docx
原创力文档


文档评论(0)