Period
来源:互联网 发布:iphone4s有4g网络吗 编辑:程序博客网 时间:2024/06/05 01:08
For each prefix of a given string S with N characters (each character has an ASCII code between 97 and 126, inclusive), we want to know whether the prefix is a periodic string. That is, for each i (2 <= i <= N) we want to know the largest K > 1 (if there is one) such that the prefix of S with length i can be written as AK , that is A concatenated K times, for some string A. Of course, we also want to know the period K.
3aaa12aabaabaabaab0
Test case #12 23 3Test case #22 26 29 312 4
#include<stdio.h>#include<math.h>#include<string.h>#include<iostream>#include<algorithm>const int maxn=1e6+10;char s[maxn];int Next[maxn];void getNext(){ int i=0; int j=-1; int l=strlen(s); while(i<l) { if(j==-1||s[i]==s[j]) { i++; j++; Next[i]=j; } else j=Next[j]; }}int main(){ int n,r=1; while(~scanf("%d",&n)&&n) { scanf("%s",s); Next[0]=-1; getNext(); printf("Test case #%d\n",r++); for(int i=1;i<=n;i++) { int ans=i-Next[i]; if(i%ans==0&&i!=ans) { printf("%d %d\n",i,i/ans); } } printf("\n"); }}
阅读全文
0 0
- Period
- Period
- period
- Period
- Period
- Period
- Period
- period
- Period
- Period
- Period
- Posting Period
- hdu1358 Period
- hdu1358 Period
- W - Period
- poj1961 Period
- HDU1358:Period
- HDU1358--Period
- Hessian矩阵与多元函数极值
- jsp的基本语法
- 黑窗口运行java文件步骤
- RPC动态代理
- mysql建立数据库报错You have an error in your SQL syntax; check the manual that corresponds to your MySQL se
- Period
- IoC容器系列的设计与实现:BeanFactory和ApplicationContext
- 51talk-0 experience class
- 11.2号笔记和练习
- 第八周项目四 稀疏矩阵的三元组表示的实现与应用(1)
- tcp_tw_recycle和tcp_timestamps导致connect失败问题
- QMapIterator Class
- 计算1+3+5+7+...+99+101的值。
- 莫队算法详解