POJ1916 Period KMP
2024-09-02 11:54:21
http://poj.org/problem?id=1961
判断某一字符串中 , 哪些前缀子串有周期 , 输出子串长度以及子串中周期重复的次数 ( 次数>1 )
需要的只是对KMP性质的进一步理解...代码很短如下
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<queue>
using namespace std;
const int maxn=;
const double eps=1e-;
const long long modn=;
char a[maxn]={};
int nex[maxn]={};
int size[maxn]={};
int n,m;
void doit(){
int j=-,i=;
nex[]=-;
int z;
while(i<n){
if(j==-||a[j]==a[i]){
nex[++i]=++j;
if(i%(i-j)==&&i/(i-j)>){
printf("%d %d\n",i,i/(i-j));
}
}else{
j=nex[j];
}
}
}
int main(){
int K=;
while(~scanf("%d",&n)&&n!=){
++K;
memset(nex,,sizeof(nex));
memset(size,,sizeof(size));
scanf("%s",a);
printf("Test case #%d\n",K);
doit();
cout<<endl;
}
return ;
}
最新文章
- 在Myeclipse中提交代码到GitHub中
- HTML5-格式化
- 主机与虚拟机通信:以主机VS2010连接虚拟机MySql为例
- 遇到could not find developer disk image 问题怎么解决
- PHP和CS的引用传值
- js压缩、混淆和加密
- 【原】spark-submit提交应用程序的内部流程
- 初识 Angular 体会
- C# partial修饰符_分部类_分部方法
- SQL Server 2012的附件失败,与硬链接的问题
- Java内存回收机制.md
- python3+requests:使用类封装接口测试脚本
- Transactional 事务
- poj3107树的重心
- ***小程序wx.getUserInfo不能弹出授权窗口后的解决方案
- 20135337——Linux内核分析:第十七章 模块与设备
- UVA1025 城市里的间谍
- js 判断某个元素是否隐藏或显示
- python中赋值-浅拷贝-深拷贝之间的关系
- java 检查异常 和 非检查异常