poj 2406 Power Strings(KMP求最大循环次数)
来源:互联网 发布:网络主播的真实收入 编辑:程序博客网 时间:2024/06/05 14:54
题意: 求出最长的循环次数
题解:
如下图:
012345678910字符ababababab
next-10012345678由图可知next[10]=8 表示前八个字符与后八个字符相同,且为前10-8个字符的循环出现,也就是说最大的循环次数是=10/(10-8)。
#include <iostream>#include <stdio.h>#include <string.h>using namespace std;const int M = 1000010;int nxt[M];char T[M];int n,m;int ans;void getnext(){ int j, k; j = 0; k = -1; nxt[0] = -1; while(j<m){ if (k==-1 || T[j]==T[k]){ nxt[++j] = ++k; } else{ k = nxt[k]; } }}int main(){ while(scanf("%s",&T)!=EOF){ if(T[0]=='.') break; m=strlen(T); getnext(); if(m%(m-nxt[m])==0) printf("%d\n",m/(m-nxt[m]));//**** 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 求最小循环节
- POJ 2406 Power Strings kmp求循环结
- POJ 2406 Power Strings(KMP求最小循环节)
- 【POJ 2406】 Power Strings(KMP求循环节)
- POJ 2406Power Strings kmp算法求循环节
- POJ 2406 Power Strings (kmp求循环节)
- KMP + 求最小循环节 --- POJ 2406 Power Strings
- 【poj 2406】 Power Strings 【KMP 求最小循环节】
- poj2406--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求周期
- Android-设计模式
- Android 系统 root 破解原理分析
- ros_opencv按下键p获取一张视野中央大小一定的kinect图像并传送整型的imageNumber话题
- 递归、斐波那契数列、汉罗塔问题、八皇后问题
- 递归、斐波那契数列、汉罗塔问题、八皇后问题
- poj 2406 Power Strings(KMP求最大循环次数)
- HDU 5326 多维数组接法 【并查集】
- sqlite第三方类库:FMDB使用
- SugarCRM源码分析之日期时间
- spring Security oAuth2例子分析
- struts-2.3.24+spring-framework-4.1.6.RELEASE+hibernate-release-4.3.10.Final 集成开发
- 大数据时代--Hive技术原理解析
- Activity中的隐式Intent
- linux 安装nginx