正题

链接:
http://poj.org/problem?id=2406


大意

一个字符串,求最小循环节。


解题思路

用KMP求循环节。
因为如果有循环节那么一定是l-next[l]。只需要判断一下l-next[l]是否可以被l整除就好了


代码

#include<cstdio>
#include<cstring>
using namespace std;
char s[1000051];
int l,p[1000051];
void ycl()//KMP自我匹配
{p[0]=-1;for (int i=1,j=-1;i<l;i++){while (j>=0&&s[i]!=s[j+1]) j=p[j];if (s[i]==s[j+1]) j++;p[i]=j;}
}
int main()
{while (true){scanf("%s",s);if (s[0]=='.') break;l=strlen(s);ycl();if (l%(l-p[l-1]-1)) printf("1");else printf("%d",l/(l-p[l-1]-1));//输出printf("\n");}
}

POJ2406-Power Strings【KMP】相关推荐

  1. 【KMP】Radio Transmission(最小循环子串)

    [KMP]Radio Transmission(最小循环子串) Description 给你一个字符串,它是由某个字符串不断自我连接形成的.但是这个字符串是不确定的,现在只想知道它的最短长度是多少. ...

  2. 【KMP】OKR-Periods of Words

    [KMP]OKR-Periods of Words 题目描述 串是有限个小写字符的序列,特别的,一个空序列也可以是一个串.一个串P是串A的前缀,当且仅当存在串B,使得A=PB.如果P≠A并且P不是一个 ...

  3. 【kmp】似乎在梦中见过的样子

    参考博客: BZOJ 3620: 似乎在梦中见过的样子 [KMP]似乎在梦中见过的样子 题目描述 「Madoka,不要相信QB!」伴随着Homura的失望地喊叫,Madoka与QB签订了契约. 这是M ...

  4. ACM入门之【KMP】

    KMP可以O(n)的时间查找出一个字符串在另一个字符串出现的次数和位置. KMP 的精髓在于,对于每次失配之后,我都不会从头重新开始枚举,而是根据我已经得知的数据,从某个特定的位置开始匹配:而对于模式 ...

  5. 【POJ2406】Power Strings(KMP)

    problem 求每个字符串的最短循环子串,输出循环次数 solution 任何一个字符串的[1,Next[n]]与[n-Next[n],n]一定是匹配的. 那么如果n%(n-Next[n])==0, ...

  6. 【POJ - 2406】Power Strings (KMP,最小循环节)

    题干: Given two strings a and b we define a*b to be their concatenation. For example, if a = "abc ...

  7. 【bzoj3620】【似乎在梦中见过的样子】【kmp】

    Description "Madoka,不要相信 QB!"伴随着 Homura 的失望地喊叫,Madoka 与 QB 签订了契约. 这是 Modoka 的一个噩梦,也同时是上个轮回 ...

  8. 【KMP】从原理上详解next数组和nextval数组

    本文将从原理上详细解释KMP算法中的next数组以及nextval数组,尽量让大家明白它们到底在记录什么,为什么要这样算.以及现在普遍的KMP算法实现当中的next数组与前两者有何不同.篇幅较长,但尽 ...

  9. 【字符串入门专题1】C - A + B for you again hdu1867【kmp】

    Problem Description Generally speaking, there are a lot of problems about strings processing. Now yo ...

最新文章

  1. 让VB菜鸟最快写出自己的外挂.通杀所有游戏
  2. django定时任务实现(言简意赅) Django折腾记之启动定时任务(转)
  3. 【数据库】防止SQL注入
  4. SAP概念之利润中心
  5. oracle云数据库 免费的吗,使用免费的Oracle云服务-创建ATP数据库
  6. 数字加密c语言程序_国外程序员整理的 C++ 资源大全
  7. python c java_简单明了看懂JAVA,Python和C+的优劣势
  8. 创建ASM With Oracle 10g
  9. DPDK服务核心(coremask)
  10. OSG仿真案例(4)——创建烟雾粒子效果
  11. 缺少公钥问题的解决方法[转]
  12. 【Git】Git提交代码详细步骤
  13. matlab中phantom函数,matlab官网上下的phantom3d不对
  14. 贴片电阻的功率与封装对照表
  15. 新闻分类(文本分类)
  16. RazorSQL Mac(SQL数据库查询工具)含激活码
  17. DateTime转为特定时区时间
  18. android 实现冒泡动画,android 触摸事件冒泡动画效果
  19. 研究生生涯规划(计划与安排)
  20. 没有躲过的坑--C++函数的默认参数(重新定义默认参数)

热门文章

  1. 信管专业c语言考什么,计算机信息管理专业卫生事业单位招聘考试笔试模拟题(十)...
  2. python等值面图平滑_离散点插值方法、等值线的绘制及平滑技巧
  3. mysql数据库密码错误_MySQL数据库经典错误六 数据库密码忘记的问题
  4. arma3自定义服务器,Arma3 生存服架设教程,武装突袭3游戏服务器架设
  5. spring的钩子_spring提供的钩子,你知道哪些
  6. 10-4 5-4 查询至少生产三种不同速度PC的厂商 (20 分)
  7. [mybatis]Mapper XML Files_CUD
  8. Adapter(适配器)--类对象结构型模式
  9. Minimal Square CodeForces - 1360A(简单思维和图形判断)
  10. java中vi是什么意思_java中的public void是什么意思?