链接

http://acm.hdu.edu.cn/showproblem.php?pid=1358

思路

当初shenben学长暑假讲过,当初太笨了,noip前几天才理解过来、、

我也没啥好说的

代码

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int N=1e6+7;
int n,len,fail[N];
char s[N];
void get_fail() {
int p=0;
for(int i=2;i<=len;++i) {
while(s[p+1]!=s[i]&&p>0) p=fail[p];
if(s[p+1]==s[i]) p++;
fail[i]=p;
}
}
int AK;
void solve() {
memset(fail,0,sizeof(fail));
get_fail();
printf("Test case #%d\n",++AK);
for(int i=2;i<=len;++i) {
if(fail[i]&&i%(i-fail[i])==0) {
printf("%d %d\n",i,i/(i-fail[i]));
}
}
puts("");
}
int main() {
while(233) {
scanf("%d",&len);
if(!len) break;
scanf("%s",s+1);
solve();
}
return 0;
}

hdu1358 Period kmp求循环节的更多相关文章

  1. HDU1358 Period —— KMP 最小循环节

    题目链接:https://vjudge.net/problem/HDU-1358 Period Time Limit: 2000/1000 MS (Java/Others)    Memory Lim ...

  2. hdu 3374 String Problem (字符串最小最大表示 + KMP求循环节)

    Problem - 3374   KMP求循环节. http://www.cnblogs.com/wuyiqi/archive/2012/01/06/2314078.html   循环节推导的证明相当 ...

  3. UVA 12012 Detection of Extraterrestrial(KMP求循环节)

    题目描述 E.T. Inc. employs Maryanna as alien signal researcher. To identify possible alien signals and b ...

  4. 17999 Light-bot 模拟 + kmp求循环节

    http://acm.scau.edu.cn:8000/uoj/mainMenu.html 17999 Light-bot 时间限制:1000MS  内存限制:65535K 提交次数:0 通过次数:0 ...

  5. 【HDU 3746】Simpsons’ Hidden Talents(KMP求循环节)

    求next数组,(一般有两种,求循环节用的见代码)求出循环节的长度. #include <cstdio> #define N 100005 int n,next[N]; char s[N] ...

  6. hdu3746 kmp求循环节

    CC always becomes very depressed at the end of this month, he has checked his credit card yesterday, ...

  7. HDU3746(KMP求循环节)

    Cyclic Nacklace Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  8. hdu 3746 kmp求循环节

    题意就是将所给的字符串变成多个完整的循环(至少两个),然后给出最少需要添加的字符数.

  9. (KMP 求循环节)The Minimum Length

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=70325#problem/F The Minimum Length Time Limit: ...

随机推荐

  1. mybatis3 date 的处理

    <if test="startTime!=null and startTime!=''"> <![CDATA[ and DATE_FORMAT(create_ti ...

  2. jdk8新特性-亮瞎眼的lambda表达式

    jdk8之前,尤其是在写GUI程序的事件监听的时候,各种的匿名内部类,大把大把拖沓的代码,程序毫无美感可言!既然Java中一切皆为对象,那么,就类似于某些动态语言一样,函数也可以当成是对象啊!代码块也 ...

  3. Yii2将查询数据变为键值对数组及查询构建器

  4. html5-css动画-2d

    div{    width: 300px;    height: 100px;    margin: 50px;    padding: 50px;    background: green;     ...

  5. selenium-grid 分布式 实现同一脚本在不同pc上运行

    1.使用版本:selenium 3.11.0chrome 65phantomjs 2.1.1selenium-server selenium-server-standalone-2.46.0.jar ...

  6. 囤币一族,被中国市场遗忘的价值币ADA

    囤币一族,被中国市场遗忘的价值币ADA ==========================长期囤币目标:trx十万个,ada一万个,eos五千个,nas一千个,ont一千个,eth一百个,比特币十个 ...

  7. DB2的空间数据库管理复杂配置

    计算机条件: a机器:linux系统           安装arcgis server b机器:windows系统     安装catalog c机器:linux系统           安装DB2 ...

  8. Kotlin基础学习

        Kotlin 和 java 都是一种静态类型的编程语言.表达式的类型在编译期已经确定,编译期能验证对象是否包含想访问方法或是字段,维护正确性与性能的同时保持源代码的简洁       静态类型的 ...

  9. OL6.3 设置本地yum源

    仅在 Oracle Linux Server release 6.3 上测试 PS:Oracle Linux Server release 6.3仅用于测试,不能用于商业用途 [root@oracle ...

  10. Redis可以用来做什么?(摘自http://www.lianpenglin.cc廉鹏林博客)

    Redis 是互联网技术领域使用最为广泛的存储中间件,它是「Remote Dictionary Service」的首字母缩写,也就是「远程字典服务」.Redis 以其超高的性能.完美的文档.简洁易懂的 ...