题意:
     给一个字符串,求最大的前缀循环周期,就是最小的循环节对应的最大的那个周期。

思路:
     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>


POJ2406简单KMP相关推荐

  1. 2020年最全最简单KMP算法讲解

    目录 1.KMP算法的来源 2.最大公共前后缀 3.KMP算法原理 4.next数组 5.next数组值的确定 6.KMP算法的缺陷 7.KMP算法的改进 1.KMP算法的来源 其实博主刚看KMP算法 ...

  2. hdu2594 简单KMP

    题意:      给你两个串,问你s1的前缀和s2的后缀最长公共部分是多少. 思路:      根据KMP的匹配形式,我们求出s1的next,然后用s1去匹配s2,输出当匹配到s2的最后一个的时候的匹 ...

  3. poj-2406(kmp水题)

    题意:定义一个a*b=字符串a连接字符串b:给你一个字符串s,问你这个字符串最多能用多少个字符串t连接得到:例如:aaaa=4个a构成: 解题思路:kmp水题,next数组除了查找字串以外最广泛的一种 ...

  4. [线段树or笛卡尔树+简单KMP]poj4005 or hdu4125 Moles

    题意:N只编号1-N的鼹鼠打洞,第i只编号为a[i],编号不重复.打的洞的样子符合以a[i]为值,以下标为插入顺序的二叉搜索树.现在从根出发,存在左子树则先走左子树,否则往右走,每经过一个洞(结点), ...

  5. ACM 训练大纲【CSUST_ACM】

    来源:彪神发的训练文档                                                                      ACM 训练大纲           ...

  6. ACM 训练大纲(CSUST_ACM)

    ACM 训练大纲 Changsha University of Science & Technology July 31, 2012 1 推荐题库 • http://ace.delos.com ...

  7. LInux命令行参数

    原创: Linux 微知识 在大学里面,老师一般会这样教,定义main 函数应该是这样的: 甚至是这样的: 但是其实在 Linux 下,一个正确的main 函数应该被定义为如下: 大家可以看到,mai ...

  8. 2013_changchun_online

    4759 Poker Shuffle 二进制规律+枚举 4760 Good Firewall 稍加变化tire树 4761 Sky 4762 Cut the Cake 概率题目,yy,公式. 4763 ...

  9. hash进阶:使用字符串hash乱搞的姿势

    前言 此文主要介绍hash的各种乱搞方法,hash入门请参照我之前这篇文章 不好意思hash真的可以为所欲为 在开头先放一下题表(其实就是我题解中的hash题目qwq) 查询子串hash值 必备的入门 ...

最新文章

  1. LabVIEW保存、读取配置文件
  2. 富国银行是如何为公有云转型做准备的
  3. 记录下最近写前端的一些小技巧
  4. 磁盘硬件结构及容量计算
  5. 鸿蒙2.0操作体验,鸿蒙2.0操作系统正式版-华为鸿蒙2.0操作系统正式版官方预约 v1.0.0-优盘手机站...
  6. GraphPad Prism 9.1 for Win / Mac 下载安装及使用教程
  7. 【转载】COM 组件设计与应用(二)——GUID 和 接口
  8. 大白话5分钟带你走进人工智能-第二十二节决策树系列之概念介绍(1)
  9. 机房收费系统之流程分析
  10. android hook 框架 ADBI 如何实现so注入
  11. Qt 学习之路 :信号槽
  12. react native+typescript创建移动端项目-(慕课网喜马拉雅项目笔记)-(一,项目的初始化配置)
  13. sqlmap的安装与使用
  14. 【数学建模】 插值算法
  15. 【面经】携程数据仓库面经
  16. 网络号、主机号、子网号--例题
  17. VUE项目 格林威治时间转换为北京时间
  18. 锂离子电容器_离子电容器:从Mac的App到iOS IPA
  19. app免填邀请码安装如何实现?
  20. Spring的Tomcat服务关闭后,Quartz进程无法正常关闭,出现内存泄露

热门文章

  1. 用MediaPlayer做个带进度条可后台的音乐播放器
  2. Windows 环境 Tomcat 的 HTTPS 单向认证和双向认证的配置
  3. VirtualBox中安装CentOS(新手教程)
  4. quartz集群调度机制调研及源码分析---转载
  5. 既之前的基础,先写个简单的PHP 与数据库 的数据交流
  6. 最好用的20个数据可视化工具(一)
  7. 用一句sql语句更新两个表并可更新对应的字段的值
  8. MySQL—异常处理
  9. StringUtils详解
  10. linux下oracle自启动