【uva1328】Period
来源:互联网 发布:网络对青少年的利与弊 编辑:程序博客网 时间:2024/06/07 17:46
题目链接:https://vjudge.net/problem/UVA-1328
题解:
KMP
i-next【i】为最小循环节
每次判断能否除尽且不是它本身即可
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N=1000010;int nxt[N],len,T;char str[N];void Get_nxt(char *s,int len){ for(int i=2,j=0;i<=len;i++) { while(j&&s[j+1]!=s[i]) j=nxt[j]; j+=(s[j+1]==s[i]); nxt[i]=j; if(nxt[i]&&(i%(i-nxt[i]))==0) printf("%d %d\n",i,i/(i-nxt[i])); } cout<<endl;}int main(){ while(scanf("%d",&len)&&len) { scanf("%s",str+1); printf("Test case #%d\n",++T); Get_nxt(str,len); } return 0;}
阅读全文
0 0
- uva1328 Period
- 【uva1328】Period
- 【UVA1328】Period
- KMP UVA1328 Period
- Period
- Period
- period
- Period
- Period
- Period
- Period
- period
- Period
- Period
- Period
- KMP求前缀周期uva1328
- Posting Period
- hdu1358 Period
- selenium显示网页所有源码内容
- FZU Problem 2280 Magic(Hash)
- 替换空格
- Python中的异常
- 实现加法计算(不用加减乘除运算符)
- 【uva1328】Period
- 文本框实时搜索
- HDU 1879 继续畅通工程
- python -- socketserver框架
- 阿里云短信发送API接口调用
- 随机排列数组
- spring 事务-使用@Transactional 注解(事务隔离级别)
- ARM寄存器与汇编指令详解
- SetTextSize(),getTextSize()单位问题