被打哭了......神特么kmp,还能这么用!看来我理解的还不够透彻,这里最神奇的就是只有相同的字串才能往下延伸,而"i-f[i]"就正好是前面空出来的模板块,也就是f[i]中不计数的那块,而字符串都是从0开始的,对应的往下加一个却正好成立构成倍数关系

#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn=1000000+100;
int f[maxn];
string p;
int n;
int main()
{  int kase=0;while(~scanf("%d",&n)&&n){  kase++;cin >> p;f[0]=0,f[1]=0;for(int i=1; i<n; i++){int j=f[i];while(j&&p[i]!=p[j]) j=f[j];f[i+1]=(p[i]==p[j]?j+1:0);}printf("Test case #%d\n",kase);for(int i=2; i<=n; i++)if(f[i]>0&&i%(i-f[i])==0){printf("%d %d\n",i,i/(i-f[i]));}printf("\n");}return 0;
}

,很神奇,这是什么,规律?

转载于:https://www.cnblogs.com/Wangwanxiang/p/7429406.html

uva 1328(kmp)相关推荐

  1. linux dd 截文件,Linux使用dd命令快速生成大文件(转)

    dd命令可以轻易实现创建指定大小的文件,如 dd if=/dev/zero of=test bs=1M count=1000 会生成一个1000M的test文件,文件内容为全0(因从/dev/zero ...

  2. UVA 11557 - Code Theft (KMP + HASH)

    UVA 11557 - Code Theft 题目链接 题意:给定一些代码文本.然后在给定一个现有文本,找出这个现有文本和前面代码文本,反复连续行最多的这些文本 思路:把每一行hash成一个值.然后对 ...

  3. uva 12012 - Detection of Extraterrestrial(KMP)

    题目链接:uva 12012 - Detection of Extraterrestrial 题目大意:给定一个字符串,问说子串中,循环次数为k个最大长度为多少. 解题思路:枚举起点位置,然后用KMP ...

  4. 矩阵hash + KMP - UVA 12886 The Big Painting

    The Big Painting Problem's Link:  http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=88791 ...

  5. UVa11019 Matrix Matcher(hash+kmp)

    二维字符串匹配问题,将二维模式x*y转换成1*y列的哈希数组.同时将二维文本串n*m转换成(n-x+1)*m列的哈希矩阵,前x行先计算哈希,后面的通过滚动计算哈希值.然后遍历(n-x+1)次,通过km ...

  6. UVa12467 Secret Word(kmp)

    先将s反转得到字符串t,再通过kmp求得t的子串,使得访子串是s的最长前缀 代码参考: OJ/UVa/12467 Secret Word at master · wuli2496/OJ · GitHu ...

  7. UVa11452 Dancing the Cheeky-Cheeky(kmp)

    使用kmp算法求得字符串的周期,然后根据长度以及周期找到字符串输出位置 代码参考: OJ/UVa/11452 Dancing the Cheeky-Cheeky at master · wuli249 ...

  8. 前缀函数及kmp算法

    1.字符串基础 1.1 字符集 一个字符集是一个建立了全序关系的集合,也就是说中的任意两个不两只的元素和都可以比较大小,要么,要么.字符集中的元素称为字符. 1.2 字符串 一个字符串S是将n个字符顺 ...

  9. Uva 1630 折叠串

    题目链接:https://uva.onlinejudge.org/external/16/1630.pdf 题意:折叠串,给一个字符串,相同部分可以折叠,折叠可以嵌套.求最短长度的一种折叠方法.括号和 ...

  10. [搜索]UVa 129 困难的串

    题意:将一个包含两个相邻的重复子串的子串,称为"容易的串",其他为"困难的串". 输入正整数n和l,输出由前l个字符组成的,字典序第n小的困难的串. 输入样例: ...

最新文章

  1. python 基础命令-详解python常用命令行选项与环境变量
  2. 新品发布、降价普惠、拥抱开源、出海全球化 | 杭州云栖企业数字化转型峰会上的那些关键词
  3. 使用Docker Compose管理多个容器
  4. 建设工程项目全寿命周期管理是指_(必过)2020年二建机电《施工管理》考前必背精华知识点整理一...
  5. 20151209小问题
  6. 生物信息 Python 库 - Dash Bio 究竟厉害在哪里?
  7. SparkMLlib分类算法之决策树学习
  8. Redis学习笔记——简介及配置
  9. 23种设计模式之模板方法模式
  10. 互联网思维之迭代思维
  11. 得物购买截图生成_iPhone12订单生成器app-iPhone12订单生成器网页app免费版预约 v1.0...
  12. 苹果首款自研芯片 M1 惊艳亮相,带来最强三款 Mac 电脑!
  13. 滴滴自动驾驶服务上线,程维:道阻且长,行则将至
  14. 诛仙mysql怎么开战场_战场介绍:诛仙2普通战场开启条件及介绍
  15. php 手机swf播放器,PHP实现使用优酷土豆视频地址获取swf播放器分享地址_PHP教程...
  16. 影视剪辑,自学剪辑,视频剪辑7天学习计划
  17. 全球133种语言自动翻译mishop大米外贸商城系统
  18. 广州软博前端实习生面经
  19. stm32 读取sd卡图片显示_「正点原子STM32Mini板资料连载」第三十五章 汉字显示实验...
  20. 智慧社区解决方案核心要点有哪些 智慧社区解决方案

热门文章

  1. javascript中常用的对象创建方式有哪些?
  2. qt禁止拖动_Qt如何实现拖拽功能?
  3. php返回成功信息msg_PHP进化史 — 从v5.6到v8.0(可收藏)
  4. 差分进化算法matlab代码_差分进化算法
  5. mysql建帐号数据库出现反斜线_[MySQL FAQ]系列 -- 账号密码包含反斜线时怎么办-阿里云开发者社区...
  6. CNN(卷积神经网络)
  7. 数据结构回文数c语言,数据结构算法(字符串转整数和回文数)
  8. php 中function_PHP中的function函数详解
  9. asp 基础操作之增删改查
  10. cenos各个版本下载地址