poj 2752
来源:互联网 发布:福建广电网络集团副总 编辑:程序博客网 时间:2024/05/22 16:43
KMP简单应用,利用next,一个一个确定是否和后缀匹配
#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int maxn=400000+10;char s[maxn];int next[maxn];int amount[maxn];int main(){ while(~scanf("%s",s)) { int len=strlen(s); int i=0,j=-1; next[0]=-1; while(i<len) { if(j==-1||s[i]==s[j]) { i++; j++; next[i]=j; } else j=next[j]; } j=next[len-1]; int tot=0; while(j!=-1) { if(s[j]==s[len-1]) amount[tot++]=j+1; j=next[j]; } for(i=tot-1;i>=0;i--) printf("%d ",amount[i]); printf("%d\n",len); } return 0;}
- POJ 2752
- poj 2752
- poj 2752
- POJ 2752
- poj 2752
- POJ 2752
- poj(2752)
- POJ 2752
- poj 2752
- POJ 2752
- poj 2752
- POJ-2752
- POJ 2752
- POJ-2752
- poj 2752
- Poj 2752
- poj 2752
- POJ 2752
- linux C经典面试十三
- 关于声明和定义
- MySQL C API-1
- ADO,OLEDB,ODBC,DAO,RDO的区别
- 顶尖的领导
- poj 2752
- HDU 1425 sort
- 漫谈高数 特征向量物理意义
- 2013蓝桥杯全国软件大赛C++模拟试题-硬币方案-解答
- VC sdk菜单不能显示
- 出港了
- memcpy()和memmove()的区别
- 20130408-[转]uIP中文协议文档:Ch01 .
- 高精度运算类bign