poj 2406 power string(KMP)
来源:互联网 发布:java数组的长度单位 编辑:程序博客网 时间:2024/05/18 01:04
题目链接:点击打开链接
题目分析:利用KMP进行分析,白书上的方法略有不同
其实就是进行预处理,找到上一个与之匹配的
总结:数组开小了,出现re
#include<cstdio>#include<cstdlib>#include<cstring>#include<algorithm>using namespace std;int n,m,f[1000005];char s[1000005];int get_failure(int len){ memset(f,-1,sizeof(f)); int k=-1,j,i=0; while(i<len) { if(k==-1||s[i]==s[k]) f[++i]=++k; else k=f[k]; } j=len-k; if(len%j) return 1; else return len/j;}int main(){ while(~scanf("%s",s)) { int len=strlen(s); if(s[0]=='.') break; else printf("%d\n",get_failure(len)); } return 0;}
另外附上
int get_failure(int len){ memset(f,0,sizeof(f)); int k,j,i; for( i=1;i<len;i++) { k=f[i]; while(k&&s[i]!=s[k]) k=f[k]; f[i+1]=s[i]==s[k]?k+1:0; }}
- poj 2406 power string(KMP)
- POJ 2406 Power String(KMP)
- POJ 2406 Power String(KMP)
- poj 2406 Power String (KMP)
- poj 2406:Power Strings(KMP)
- poj 2406 Power Strings(kmp算法)
- POJ 2406 Power Strings(kmp)
- POJ 题目2406 Power Strings(KMP)
- POJ 2406 Power Strings(kmp)
- poj 2406 Power Strings (KMp)
- POJ 2406 Power Strings (KMP)
- POJ 2406 Power Strings(KMP)
- poj-2406-Power Strings(KMP)
- poj 2406 Power Strings(kmp)
- poj 2406Power Strings(KMP入门)
- poj 2406 Power Strings(KMP || 暴力)
- poj 2406 Power Strings(KMP)
- POJ 2406 Power Strings(KMP)
- [leetcode]Distinct Subsequences
- java基础入门---- MyLineNumberReader2
- ADO 连接access2010的问题
- java 的socket网络编程
- 10.0
- poj 2406 power string(KMP)
- 动态IP和静态IP
- hdu 4757 Tree 南京网络赛 1010
- 做一个优雅的程序员—《程序员修炼之道》读后感
- android TextView 文字处理
- printf函数
- “iOS 推送通知”详解:从创建到设置到运行
- 《链接、装载与库》里的一个错误:关于调用栈
- php5.3 安装mcrypt