POJ 2406 KMP求字符串循环节
来源:互联网 发布:阴阳师自动刷御魂软件 编辑:程序博客网 时间:2024/05/17 22:50
还是一道求字符串循环节的问题,用KMP算法可以轻松解决,只要注意是以什么结束的就可以了。。。。。。题目:
Power Strings
Time Limit: 3000MS Memory Limit: 65536KTotal Submissions: 19573 Accepted: 8173
Description
Given 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
abcdaaaaababab.
Sample Output
143ac代码;
#include <iostream>#include <string.h>#include <cstdio>using namespace std;const int N=1000010;int len,nextt[N];char str[N];int get_next(){ nextt[0]=0; for(int i=1;i<len;++i){ int temp=nextt[i-1];while(temp&&str[temp]!=str[i])temp=nextt[temp-1];if(str[i]==str[temp])nextt[i]=temp+1;elsenextt[i]=0; } int x=len-nextt[len-1]; if(len%x==0) { int y=len/x; return y; } else return 1;}int main(){while(scanf("%s",str)){if(str[0]=='.')break; len=strlen(str); int x=get_next(); printf("%d\n",x);} return 0;}
- POJ 2406 KMP求字符串循环节
- POJ-2406-kmp求最小循环节
- POJ 2406 kmp求循环节个数
- poj 2406 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 依然是KMP求循环节
- KMP + 求最小循环节 --- POJ 2406 Power Strings
- 【poj 2406】 Power Strings 【KMP 求最小循环节】
- POJ 1961 Period kmp求循环节
- KMP 求最小循环节 POJ
- poj2185 KMP求字符串循环节
- hdu 3746 kmp求字符串循环节
- POJ 2406 Power Strings (KMP找字符串的循环节)
- POJ 2406 kmp + 循环节
- 《java网络的基本知识》
- asp.net常用代码收集
- 2011年的11个网页设计趋势热点
- url编码方法比较
- fedora 10安装
- POJ 2406 KMP求字符串循环节
- iframe 父窗口和子窗口相互调用
- Cookie
- 《java与图像》
- linux expect 学习笔记及实例
- 会话状态
- LTP套件使用方法详解
- Android手机无法使用debug的解决方法
- 《 Java数据库连接(JDBC) 》