POJ2752【KMP-next数组含义】
来源:互联网 发布:淘宝新消保规则 编辑:程序博客网 时间:2024/06/16 04:20
题意:
给一个字符串,求满足既是这个字符串的前缀,又是这个字符串的后缀,从小到大输出长度
KMP的next数组干的是子串最长后缀。
给一个字符串,求满足既是这个字符串的前缀,又是这个字符串的后缀,从小到大输出长度
思路:
细讲next数组含义博文:点我
KMP的next数组干的是子串最长后缀。
所以从最后一个next一直往前跳,next存的就是最长后缀,知道为0||-1;
//#include<bits/stdc++.h>#include<cstdio>#include<math.h>#include<string.h>#include<algorithm>using namespace std;typedef long long LL;const int N=4e5+10;int Next[N],len;char s[N];//ababcababababcabab//2 4 9 18void GetNext(){ int i=0,j=-1; Next[0]=-1; while(i<len) { if(j==-1||s[i]==s[j]) Next[++i]=++j; else j=Next[j]; }}int ans[N],num;int main(){ while(~scanf("%s",s)) { len=strlen(s); GetNext(); int x=len; num=0; while(Next[x]!=0&&Next[x]!=-1) { ans[num++]=Next[x]; x=Next[x]; } sort(ans,ans+num); for(int i=0;i<num;i++) printf("%d ",ans[i]); printf("%d\n",len); } return 0;}
0 0
- POJ2752【KMP-next数组含义】
- POJ2752 KMP next数组的活用
- POJ2752 KMP中next数组的应用
- KMP(4)--poj2752(next数组的应用)
- poj2752—kmp的next数组的简单应用
- poj2752(对next数组理解)
- POJ2752 Seek the Name, Seek the Fame KMP-next数组的应用
- POJ 3461 Oulipo 深刻理解KMP算法next数组含义
- KMP算法-next数组的含义和求法
- POJ1961_Period_理解KMP中next数组的含义
- poj2752 kmp
- poj2752---KMP
- poj2752(KMP)
- poj2752 KMP
- POJ2752(KMP)
- KMP 算法 next数组
- KMP next数组详解
- KMP中的next数组
- 变态的静态资源缓存与更新(超详细好文)
- 文章标题
- 【HDU1850】Being a Good Boy in Spring Festival (SG定理)
- 分布式锁实现
- 【Android学习札记】Intent详解
- POJ2752【KMP-next数组含义】
- Unity中将角色对齐地形高度的方法
- OpenWRT(十一)LuCi开发(二)
- 7对数字
- Java多线程-实例解析
- 实现SDK的打包处理
- (@WhiteTaken)设计模式学习——工厂方法模式
- Linux下MPI并行编程环境搭建配置
- 最长公共子序列(LCS)