poj2406——Power Strings(KMP)
来源:互联网 发布:招商局集团 知乎 编辑:程序博客网 时间:2024/04/30 13:14
Power Strings
Time Limit: 3000MS Memory Limit: 65536K
Total Submissions: 25855Accepted: 10829
DescriptionGiven two strings a and b we define a*b to be their concatenation. For example, if a = "abc" and b = "def" then a*b = "abcdef". If we think of concatenation as multiplication, exponentiation by a non-negative integer is defined in the normal way: a^0 = "" (the empty string) and a^(n+1) = a*(a^n).
Input
Each test case is a line of input representing s, a string of printable characters. The length of s will be at least 1 and will not exceed 1 million characters. A line containing a period follows the last test case.
Output
For each s you should print the largest n such that s = a^n for some string a.
Sample Input
abcd
aaaa
ababab
.
Sample Output
1
4
3
Hint
This problem has huge input, use scanf instead of cin to avoid time limit exceed.
Source
Waterloo local 2002.07.01
解析:
kmp的经典应用。。。
代码:
#include<cstdio>#include<algorithm>#include<cstring>#include<string>using namespace std;char s[1000010];int next[1000010];int len;void read(){ freopen("poj2406.in","r",stdin); freopen("poj2406.out","w",stdout);}int get_next(){ int i=0,j=-1; next[i]=j; while(i<len) { if(j==-1 || s[i]==s[j]) { i++;j++; next[i]=j; } else j=next[j]; } i=len-j; if(len%i==0)return len/i; else return 1;}int main(){ read(); while(scanf("%s\n",s)!=EOF) { if(s[0]=='.')break; len=strlen(s); printf("%d\n",get_next()); } return 0;}
- 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】
- 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)
- Redis+PHP常用命令总结
- Struts2返回JSON数据的具体应用范例
- OEM:Unable to initialize ssl connection with server, aborting connection attempt
- java容器
- Kinect for Windows培训视频
- poj2406——Power Strings(KMP)
- PHPCMS:V9友情链接标签使用说明
- Linux 下定时器的实现方式分析
- 堆排序
- 日期时间转换
- Android UI 如何让TextView中的文字居中显示
- 解决哈希(HASH)冲突的主要方法
- eclipse中修改工程的Android版本
- java自动打包解包和泛型