POJ 2406 Power Strings(KMP+最小循环节)
来源:互联网 发布:手机淘宝排名提升 编辑:程序博客网 时间:2024/05/17 07:13
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).
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.
For each s you should print the largest n such that s = a^n for some string a.
abcdaaaaababab.
143
This problem has huge input, use scanf instead of cin to avoid time limit exceed.
题解:
给一个串,问是由最多几个循环节组成的,直接用最小循环节长度len-next[len]判断一下就好了,如果能整除len就输出len/最小循环节长度,否则输出1
代码:
#include<algorithm>#include<iostream>#include<cstring>#include<stdio.h>#include<math.h>#include<string>#include<stdio.h>#include<queue>#include<stack>#include<map>#include<vector>#include<deque>using namespace std;#define lson k*2#define rson k*2+1#define M (t[k].l+t[k].r)/2#define INF 1008611111#define ll long long#define eps 1e-15int Next[1000005];char T[1000005];void init(){ int i=0,j=-1; Next[0]=-1; while(T[i]) { if(j==-1||T[i]==T[j]) { i++; j++; Next[i]=j; } else j=Next[j]; }}int main(){ int i,j,n,len; while(gets(T)!=NULL) { if(T[0]=='.') break; init(); len=strlen(T); n=len-Next[len]; if(len%n==0) printf("%d\n",len/n); else printf("1\n"); } return 0;}
阅读全文
0 0
- POJ 2406 Power Strings(KMP求最小循环节)
- POJ 2406 Power Strings(KMP+最小循环节)
- poj 2406 Power Strings (KMP+最小循环节)
- POJ 2406 Power Strings KMP 求最小循环节
- KMP + 求最小循环节 --- POJ 2406 Power Strings
- 【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 -2406 Power Strings(循环节,kmp专题)
- [POJ 2406] Power Strings (kmp循环节)
- POJ 2406 Power Strings(最小循环节的应用)
- Java 中 byte、byte 数组和 int、long 之间的转换
- Jsp制作验证码
- 实现居中的方法
- dev
- Kafka 设计原理
- POJ 2406 Power Strings(KMP+最小循环节)
- 字符串问题---括号字符串的有效性和最长有效长度
- 简单实现日历功能
- 机器学习各种算法的特点归纳
- 转发与重定向
- HTML5图片上传图片实时预览,通过DataURL将图片压缩“嵌入”到HTML中,优化图片的加载速度和执行效率。
- hdu 6153 A Secret (kmp)
- Unity-jenkins持续集成--配置
- 中文拼音排序