题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3746

思路:KMP中Next数组的应用,求出最小的循环节,题目的意思是只能在字符串的后面上添加新的字符凑成两个循环节

用Next数组来求最小循环节的方法见这:http://www.cnblogs.com/wuyiqi/archive/2012/01/06/2314078.html

 1 #include<string.h>
 2 #include<stdio.h>
 3 #include<iostream>
 4 #define N 1000005
 5
 6 using namespace std;
 7
 8 int Next[N],tlen;
 9 char T[N];
10
11 void getNext()
12 {
13      int j, k;
14     j = 0; k = -1; Next[0] = -1;
15     while(j < tlen)
16     {
17         if(k == -1 || T[j] == T[k])
18             Next[++j] = ++k;
19         else
20             k = Next[k];
21     }
22 }
23
24 int main()
25 {
26     int cas,min;
27     scanf("%d",&cas);
28     while(cas--)
29     {
30         scanf("%s",T);
31         tlen=strlen(T);
32         getNext();
33         min=tlen-Next[tlen];
34         if(min==tlen)
35             printf("%d\n",tlen);
36         else if(tlen%min==0)
37             printf("0\n");
38         else
39             printf("%d\n",min-tlen%min);
40     }
41     return 0;
42 }

转载于:https://www.cnblogs.com/pter/p/5717652.html

hdu 3746 Cyclic Nacklace相关推荐

  1. @hdu - 3746@ Cyclic Nacklace

    目录 @description@ @solution@ @code@ @details@ @description@ 给你一个长度为 n 的由小写字母组成的字符串,让你在末尾增加尽量少的字母,使它变为 ...

  2. 字符串周期--hdu 3746 Cyclic Nacklace

    通过这题得出了一个很重要的结论,在用kmp算法求出next数组后,len-next[len]的值就是该字符串的最小循环节,该字符串的其他循环节都是它的倍数,如果len恰好是len-next[len]的 ...

  3. HDU - 3746 Cyclic Nacklace(KMP的next数组判循环节)

    题目链接:点击查看 题目大意:现在规定想要制作一串珍珠手链,需要用到两段一模一样的字符串首位相接而成,现在给定一个字符串,问最少需要添加几个珍珠才能满足条件 题目分析:一开始以为是个简单的模拟题,但后 ...

  4. 【HDU - 3746 】Cyclic Nacklace (KMP,最小循环节问题)

    题干: CC always becomes very depressed at the end of this month, he has checked his credit card yester ...

  5. HDU - Cyclic Nacklace(KMP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3746 Time Limit: 2000/1000 MS (Java/Others) Memory Li ...

  6. HDU 1853 Cyclic Tour

    HDU_1853 首先,如果要保证图有环,并且环之间没有交点的话,那么必然每个点的出度和入度都应为1,因此我们可以把一个点拆成两个点,分别表示出度及入度,然后去找拆点后构成的二分图的完美匹配. 对于怎 ...

  7. hdu 3746 kmp求循环节 下标从1开始

    长度为m[1,2...m]的模式的循环节为 m-next[m] , aaa  循环节clc为1  (clc=m-next[m]= 3-2  =1)       此时   m%clc == 0   表示 ...

  8. kuangbin带你飞专题合集

    题目列表 [kuangbin带你飞]专题一 简单搜索 [kuangbin带你飞]专题二 搜索进阶 [kuangbin带你飞]专题三 Dancing Links [kuangbin带你飞]专题四 最短路 ...

  9. 算法学习经典例题整理

    陆续会对本篇博客进行更新! 搜索:https://vjudge.net/contest/292597 区间DP:https://vjudge.net/contest/293892 树状背包:https ...

最新文章

  1. mysql导出数据到txt太慢_分享:mysql导出数据到txt文件
  2. tensorflow图形识别_手把手教你使用TF服务将TensorFlow模型部署到生产环境
  3. 机器学习笔记十二之异常检测
  4. 自定义view imageviw
  5. 7系列高速收发器简介 GTP IP核
  6. 微信强制性诱导分享php,微信公众号运营者注意了,下面这些诱导分享到朋友圈都是不可以的...
  7. go开发报 A required privilege is not held by the client 错误
  8. mac打包dmg文件
  9. 基于Java实现的定时给微信好友发送消息
  10. 利用PHPExcel转Excel饼图
  11. anaconda环境配置与windows环境下pip使用方法
  12. [译]连接池和 Timeout expired异常
  13. 弱口令审计-工具用法大全
  14. 微信小程序使用 iconfont 彩色图标(mini-program-iconfont-cli)
  15. 数学建模—降维—因子分析
  16. Redis笔记-基础篇(黑马视频教程)
  17. 《Effective C++》 总结篇(杂项讨论)
  18. 恢复清除回收站的文件怎么操作
  19. 读“端到端原则”有感
  20. ElasticSearch~ES文档操作~对文档的增删改查

热门文章

  1. DFT,DTFT,DFS,FFT区别
  2. 在vSphere Client中启动虚拟机创建进程以及VMwareTools安装
  3. thinkphp3.1的新功能
  4. oracle control file文件 详解
  5. 哥的博客不是山寨,是公益
  6. 如何建立论坛的核心用户--引发的思考
  7. how mang libraries do we have: 139
  8. 针对firefox ie6 ie7的css样式
  9. 【第一章】 Spring概述 —— 跟我学Spring3
  10. 【MongoDB系列】:MongoDB 集群,副本集模式(二)