POJ2406简单KMP
题意:
给一个字符串,求最大的前缀循环周期,就是最小的循环节对应的最大的那个周期。
思路:
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相关推荐
- 2020年最全最简单KMP算法讲解
目录 1.KMP算法的来源 2.最大公共前后缀 3.KMP算法原理 4.next数组 5.next数组值的确定 6.KMP算法的缺陷 7.KMP算法的改进 1.KMP算法的来源 其实博主刚看KMP算法 ...
- hdu2594 简单KMP
题意: 给你两个串,问你s1的前缀和s2的后缀最长公共部分是多少. 思路: 根据KMP的匹配形式,我们求出s1的next,然后用s1去匹配s2,输出当匹配到s2的最后一个的时候的匹 ...
- poj-2406(kmp水题)
题意:定义一个a*b=字符串a连接字符串b:给你一个字符串s,问你这个字符串最多能用多少个字符串t连接得到:例如:aaaa=4个a构成: 解题思路:kmp水题,next数组除了查找字串以外最广泛的一种 ...
- [线段树or笛卡尔树+简单KMP]poj4005 or hdu4125 Moles
题意:N只编号1-N的鼹鼠打洞,第i只编号为a[i],编号不重复.打的洞的样子符合以a[i]为值,以下标为插入顺序的二叉搜索树.现在从根出发,存在左子树则先走左子树,否则往右走,每经过一个洞(结点), ...
- ACM 训练大纲【CSUST_ACM】
来源:彪神发的训练文档 ACM 训练大纲 ...
- ACM 训练大纲(CSUST_ACM)
ACM 训练大纲 Changsha University of Science & Technology July 31, 2012 1 推荐题库 • http://ace.delos.com ...
- LInux命令行参数
原创: Linux 微知识 在大学里面,老师一般会这样教,定义main 函数应该是这样的: 甚至是这样的: 但是其实在 Linux 下,一个正确的main 函数应该被定义为如下: 大家可以看到,mai ...
- 2013_changchun_online
4759 Poker Shuffle 二进制规律+枚举 4760 Good Firewall 稍加变化tire树 4761 Sky 4762 Cut the Cake 概率题目,yy,公式. 4763 ...
- hash进阶:使用字符串hash乱搞的姿势
前言 此文主要介绍hash的各种乱搞方法,hash入门请参照我之前这篇文章 不好意思hash真的可以为所欲为 在开头先放一下题表(其实就是我题解中的hash题目qwq) 查询子串hash值 必备的入门 ...
最新文章
- LabVIEW保存、读取配置文件
- 富国银行是如何为公有云转型做准备的
- 记录下最近写前端的一些小技巧
- 磁盘硬件结构及容量计算
- 鸿蒙2.0操作体验,鸿蒙2.0操作系统正式版-华为鸿蒙2.0操作系统正式版官方预约 v1.0.0-优盘手机站...
- GraphPad Prism 9.1 for Win / Mac 下载安装及使用教程
- 【转载】COM 组件设计与应用(二)——GUID 和 接口
- 大白话5分钟带你走进人工智能-第二十二节决策树系列之概念介绍(1)
- 机房收费系统之流程分析
- android hook 框架 ADBI 如何实现so注入
- Qt 学习之路 :信号槽
- react native+typescript创建移动端项目-(慕课网喜马拉雅项目笔记)-(一,项目的初始化配置)
- sqlmap的安装与使用
- 【数学建模】 插值算法
- 【面经】携程数据仓库面经
- 网络号、主机号、子网号--例题
- VUE项目 格林威治时间转换为北京时间
- 锂离子电容器_离子电容器:从Mac的App到iOS IPA
- app免填邀请码安装如何实现?
- Spring的Tomcat服务关闭后,Quartz进程无法正常关闭,出现内存泄露