Poj 2406 Power Strings
来源:互联网 发布:淘宝天下网商 编辑:程序博客网 时间:2024/05/16 14:12
人生的第一个不抄模板的kmp的题
如果感觉自己理解KMP比较吃力的话,建议学一下有限自动机的一些概念
感觉KMP最巧妙的还是next数组的构建,能在线性时间的计算出来感觉也是十分的炫酷
这个题的计算循环节的方法感觉只要能自己理解next数组实际上是在说什么应该还是会很trivial的
那么就直接上代码吧
#include<cstdio>#include<cstring>using namespace std;const int maxn = 1123456;void calnext(char *arr,int *next){next[0] = -1;for(int i=1;arr[i];i++){int ind = next[i-1];while(ind >= 0 && arr[ind+1] != arr[i]) ind = next[ind];if(arr[i] == arr[ind+1]) next[i] = ind + 1;else next[i] = -1;}}char arr[maxn];int next[maxn];int main(){while(~scanf("%s",arr) && arr[0] != '.'){calnext(arr,next);int len = strlen(arr);if(next[len-1] == -1 || len % (len - next[len-1] - 1) !=0 )puts("1");elseprintf("%d\n",len / (len - next[len-1] -1));}return 0;}
0 0
- poj 2406 "Power Strings"
- poj 2406 Power Strings
- POJ-2406 Power Strings
- POJ 2406 Power Strings
- poj 2406 Power Strings
- POJ:2406 Power Strings
- poj 2406 Power Strings
- poj 2406 Power Strings
- poj 2406 Power Strings
- POJ 2406 Power Strings
- POJ 2406 - Power Strings
- poj 2406 Power Strings
- poj 2406 Power Strings
- POJ 2406 Power Strings
- POJ 2406 Power Strings
- POJ 2406 Power Strings
- poj 2406 Power Strings
- POJ 2406 Power Strings
- Android源码解析系列
- POJ1190===搜索+剪枝===生日蛋糕
- 【Linux】IFS是个什么鬼
- CABasicAnimation用法
- [工具]如何访问Google-戏说VPN及路由VPN分流
- Poj 2406 Power Strings
- Oracle创建临时表空间/表空间/创建用户/授权
- Java集合框架List,Map,Set等全面介绍
- qq红包一键生成软件 v4.0 绿色版
- Android中AsyncTask异步加载
- pku线段树20题(mark)
- 浅析编程不同输入法状态下的些微区别
- Proguard使用最新,最全教程,亲自试验
- UI控件