正题

洛谷评测记录:https://www.luogu.org/recordnew/lists?uid=52918&pid=UVA1328
POJ链接:http://poj.org/problem?id=1961


题目大意

求一个字符串每个前缀的最短循环循环次数。


解题思路

计算next数组,然后直接计算循环节:
详见:POJ2752-Seek the Name, Seek the Fame【KMP】


code

#include<cstdio>
using namespace std;
int n,fail[1000001],k;
char s[1000001];
int main()
{while(true){++k;scanf("%d",&n);if(n==0) return 0;scanf("%s",s);for(int i=1,j=0;i<n;i++){while(j&&s[i]!=s[j])j=fail[j];j+=(s[i]==s[j]);fail[i+1]=j;}//构建失败指针printf("Test case #%d\n",k);for(int i=2;i<=n;i++){if(i/(i-fail[i])>1&&!(i%(i-fail[i]))) printf("%d %d\n",i,i/(i-fail[i]));//输出答案}printf("\n");}
}

洛谷UVA1328,POJ1961-Period【KMP,字符串】相关推荐

  1. 信息学奥赛一本通 1848:【07NOIP提高组】字符串的展开 | OpenJudge NOI 1.7 35:字符串的展开 | 洛谷 P1098 [NOIP2007 提高组] 字符串的展开

    [题目链接] ybt 1848:[07NOIP提高组]字符串的展开 OpenJudge NOI 1.7 35:字符串的展开 洛谷 P1098 [NOIP2007 提高组] 字符串的展开 [题目考点] ...

  2. 【洛谷新手村解题报告三 字符串/递归前】C++语言,一题多解,思路和WA反思

    [洛谷新手村解题报告三] 简单字符串 过程函数与递归 首先下一部分!字符串,这个前面两题新手跳过吧 简单字符串 第三题 统计单词数 [2/2] 给定一个单词,请你输出它在给定的文章中出现的次数和第一次 ...

  3. 洛谷 - P1308 统计单词数(字符串+模拟)

    题目链接:点击查看 题目大意:给出一个字符串a和字符串b,现在问字符串b中有多少个单词与字符串a相等,并记录第一次出现的位置 题目分析:看似很简单的一个模拟题,其实包含了不少需要注意的地方: stri ...

  4. 洛谷P5601-小D与笔试(字符串处理)

    题目背景: 小D是一位即将参加 ION 的 IO 选手,然而笔试题库中数量繁多的奇怪题目让他大伤脑筋,快来帮帮他! 题目描述: 笔试题库可以抽象为 nnn 道题目,每道题目由题面和答案组成,都是一个字 ...

  5. 洛谷 P1957 口算练习题(字符串操作)

    菜鸟生成记(56) P1957 口算练习题 快乐的水题;暴力模拟 #include<iostream> #include<stdio.h>//使用printf,scanf,一定 ...

  6. 洛谷 P1598 垂直柱状图【字符串+模拟】

    P1598 垂直柱状图 题目描述 写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过72个字符),然后用柱状图输出每个字符在输入文件中出现的次数.严格地按照输出样例来安排你的输出格式. ...

  7. 洛谷 P1055 ISBN号码【字符串+模拟】

    P1055 ISBN号码 题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其 ...

  8. 洛谷 P1598 垂直柱状图【字符串】

    题目描述 写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过72个字符),然后用柱状图输出每个字符在输入文件中出现的次数.严格地按照输出样例来安排你的输出格式. 输入输出格式 输入格式 ...

  9. 洛谷P4173:残缺的字符串(FFT、通配符匹配)

    解析 通配符匹配的经典题. 设单词串为 AAA,文章串为 BBB. 把 AAA 翻转一下,判断问题就能转化为一个卷积的形式: F(p)=&i=0m−1match(Ai+1,Bp−i)F(p)= ...

最新文章

  1. CSS a:hover伪类在IE6下的问题
  2. 这款 网络排查 神器,运维用了都说好,赶紧收藏~
  3. SpringMVC:JSON
  4. 对软件工程课程的期望
  5. initial model for Agile Development Organization: Relationship Graph
  6. VTK:可视化算法之ContourQuadric
  7. mybatis sql中有中文处理
  8. jpanel网格布局添加滚动条_啥是前端开发工程师必会的5种网页布局方式?
  9. 通过debug 修改SE16里的table content
  10. linux期末考试试题4,Linux试题4
  11. 行测 资料分析 统计术语篇
  12. gtx 750 linux驱动下载,Ubuntu 12.04安装NVIDIA GTX750显卡驱动
  13. Java类属性字段校验(validation的使用)
  14. sl4a库_SL4A客户端Python服务器(SL4A client Python server)
  15. 更换iphone4s电池图文教程
  16. 核桃编程学python吗_西瓜编程和核桃编程哪个好
  17. 小武告诉滨滨每天可以吃一块或者两块巧克力。假设滨滨每天都吃巧克力,问滨滨共有多少种不同的吃完巧克力的方案。
  18. CSS属性设置鼠标为手型
  19. 前端面试题之【CSS】
  20. 胡搞瞎搞JScript记(用JScript代替批处理文件)

热门文章

  1. php读取excel函数,PHP读取Excel函数Spreadsheet_Excel_Reader
  2. python lock_python lock一步步教你理解Python装饰器
  3. python frame用法_python—dataframe用法
  4. solidity payable_以太坊区块链搭建与使用(五)-智能合约Solidity
  5. 计算机模拟分子设计,计算机模拟分子材料.pdf
  6. 34. 在排序数组中查找元素的第一个和最后一个位置012(二分查找+思路+详解+两种方法)Come Baby!!!!!!!! !
  7. Java用TCP手写聊天室 可以 私聊版加群聊版
  8. Java substring() 方法
  9. [蓝桥杯2019初赛]数的分解-枚举
  10. Maximum Sum UVA - 108(连续子序列最大和—变形之子矩阵最大和)