kmp杂题1 poj2406 Power Strings
来源:互联网 发布:淘宝商品规格怎么填写 编辑:程序博客网 时间:2024/06/10 14:26
1.poj2406 Power Strings
题意:
我们定义两个字符串a和b的乘法: a*b ,就是把它们连接起来。比如: a = “abc” ,b = “def” ,那么 a*b = “abcdef”.由此推广,字符串的幂运算: a^0 = “” (空字符串) a^(n+1) = a*(a^n). 给一个字符串s,假设存在 a^n=s,求n的最大值。
如果这个字符串是某个串的幂运算后的值
那么他应该就是这样的
ababababababababab……
abcabcabcabc……
所以我们做一次自己匹配自己 就可以了
AC代码
#include <cstdio>#include <cstring>using namespace std;int len,p[1000010];char a[1000010];int main(){ while (scanf("%s",a+1)!=EOF) { if (strcmp(a+1,".")==0) break; len=strlen(a+1); int i,j=0;p[1]=0; for (i=2;i<=len;i++) { while (j>0&&a[i]!=a[j+1]) j=p[j]; if (a[i]==a[j+1]) j++; p[i]=j; } if (len%(len-p[len])==0) printf("%d\n",len/(len-p[len])); else printf("1\n"); } return 0;}
0 0
- kmp杂题1 poj2406 Power Strings
- 【KMP】 poj2406 Power Strings
- poj2406 Power Strings-------KMP
- [POJ2406] Power Strings[KMP]
- poj2406 Power Strings kmp
- POJ2406 Power Strings 【KMP】
- poj2406 Power Strings (KMP)
- poj2406-Power Strings(kmp)
- poj2406 Power Strings(KMP)
- POJ2406 Power Strings【KMP】
- poj2406 power strings 【KMP】
- poj2406 Power Strings(KMP)
- POJ2406 Power Strings(kmp)
- 【kmp】【poj2406】Power Strings
- [poj2406]Power Strings KMP
- poj2406 Power Strings(KMP)
- POJ2406 Power Strings(KMP)
- poj2406--Power Strings (KMP)
- 二叉树排序
- Tensorflow代码解析(一)
- Caffe源码中layer文件分析
- JPA Criteria Query Examples
- 横向Gridview使用
- kmp杂题1 poj2406 Power Strings
- Linux常用命令思维导图
- 【Android UI设计与开发】9:滑动菜单栏(一)开源项目SlidingMenu的使用和示例
- OnPaint和OnDraw的区别
- 2017三月
- 应用方法数超过65535-Multidex的解决方案
- 【总结】layout_below与layout_alignBottom的区别
- svn冲突问题
- 你会考虑创业公司吗