POJ2406简单KMP
来源:互联网 发布:周杰伦皮影戏知乎 编辑:程序博客网 时间:2024/05/19 02:26
题意:
给一个字符串,求最大的前缀循环周期,就是最小的循环节对应的最大的那个周期。
思路:
KMP的简单应用,求完next数组后有这样的应用:next[i] :是最大循环节的第几位,比如123451234512那么就是7循环节是1234512345
给一个字符串,求最大的前缀循环周期,就是最小的循环节对应的最大的那个周期。
思路:
KMP的简单应用,求完next数组后有这样的应用:next[i] :是最大循环节的第几位,比如123451234512那么就是7循环节是1234512345
i-next[i] :最小循环节的位数if(next[i] && i % (next[i])==0)那么 i / (i - next[i]) 就是最大的周期数(这个题目用的就是这个)
<strong><span style="font-size:18px;">#include<stdio.h>#include<string.h>char str[1000005];int next[1000005];void Get_Next(int m){ int j = 0 ,k = -1; next[0] = -1; while(j<m) { if(k == -1 || str[j] == str[k]) next[++j] = ++k; else k = next[k]; } return ;}int main (){ int i ,n; while(~scanf("%s" ,str) && str[0] != '.') { n = strlen(str); Get_Next(n); if(next[n] && n % (n - next[n]) == 0) printf("%d\n" ,n / (n - next[n])); else printf("1\n"); } return 0;}</span></strong>
0 0
- POJ2406简单KMP
- poj2406 Power Strings 简单KMP
- Power Strings(poj2406 ,简单KMP)
- poj2406(KMP)
- poj2406 KMP
- Poj2406【KMP】
- poj2406-kmp的next数组的简单应用(2)
- poj2406(kmp,后缀数组)
- 【KMP】 poj2406 Power Strings
- poj2406 Power Strings-------KMP
- POJ2406 KMP算法
- POJ2406-暴搜,kmp
- poj2406之kmp应用
- [POJ2406] Power Strings[KMP]
- poj2406 Power Strings kmp
- poj2406 KMP算法
- POJ2406 KMP前缀周期
- POJ2406 Power Strings 【KMP】
- [picture]saber
- 新浪微博开发平台地址 http://open.weibo.com/
- NavigationController 常用方法以及弹簧
- ccs平台 28335mcu 关于变量重复定义的解决方案
- Hdu 1059 Dividing(dp)
- POJ2406简单KMP
- SQL Server用户登录失败
- 树形列表成员- DevExpress.XtraTreeList.TreeList
- Android报Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x0 .解决办法
- SpringMVC 学习笔记(六) 数据绑定和JSR校验
- 套接字 中 shutdown与close区别
- poj2418map或者字典树
- Android混淆打包
- 中兴阅读:你的移动阅读解决专家,助纸媒们一臂之力