hdu 3746 Cyclic Nacklace
题目链接: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相关推荐
- @hdu - 3746@ Cyclic Nacklace
目录 @description@ @solution@ @code@ @details@ @description@ 给你一个长度为 n 的由小写字母组成的字符串,让你在末尾增加尽量少的字母,使它变为 ...
- 字符串周期--hdu 3746 Cyclic Nacklace
通过这题得出了一个很重要的结论,在用kmp算法求出next数组后,len-next[len]的值就是该字符串的最小循环节,该字符串的其他循环节都是它的倍数,如果len恰好是len-next[len]的 ...
- HDU - 3746 Cyclic Nacklace(KMP的next数组判循环节)
题目链接:点击查看 题目大意:现在规定想要制作一串珍珠手链,需要用到两段一模一样的字符串首位相接而成,现在给定一个字符串,问最少需要添加几个珍珠才能满足条件 题目分析:一开始以为是个简单的模拟题,但后 ...
- 【HDU - 3746 】Cyclic Nacklace (KMP,最小循环节问题)
题干: CC always becomes very depressed at the end of this month, he has checked his credit card yester ...
- HDU - Cyclic Nacklace(KMP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3746 Time Limit: 2000/1000 MS (Java/Others) Memory Li ...
- HDU 1853 Cyclic Tour
HDU_1853 首先,如果要保证图有环,并且环之间没有交点的话,那么必然每个点的出度和入度都应为1,因此我们可以把一个点拆成两个点,分别表示出度及入度,然后去找拆点后构成的二分图的完美匹配. 对于怎 ...
- hdu 3746 kmp求循环节 下标从1开始
长度为m[1,2...m]的模式的循环节为 m-next[m] , aaa 循环节clc为1 (clc=m-next[m]= 3-2 =1) 此时 m%clc == 0 表示 ...
- kuangbin带你飞专题合集
题目列表 [kuangbin带你飞]专题一 简单搜索 [kuangbin带你飞]专题二 搜索进阶 [kuangbin带你飞]专题三 Dancing Links [kuangbin带你飞]专题四 最短路 ...
- 算法学习经典例题整理
陆续会对本篇博客进行更新! 搜索:https://vjudge.net/contest/292597 区间DP:https://vjudge.net/contest/293892 树状背包:https ...
最新文章
- mysql导出数据到txt太慢_分享:mysql导出数据到txt文件
- tensorflow图形识别_手把手教你使用TF服务将TensorFlow模型部署到生产环境
- 机器学习笔记十二之异常检测
- 自定义view imageviw
- 7系列高速收发器简介 GTP IP核
- 微信强制性诱导分享php,微信公众号运营者注意了,下面这些诱导分享到朋友圈都是不可以的...
- go开发报 A required privilege is not held by the client 错误
- mac打包dmg文件
- 基于Java实现的定时给微信好友发送消息
- 利用PHPExcel转Excel饼图
- anaconda环境配置与windows环境下pip使用方法
- [译]连接池和 Timeout expired异常
- 弱口令审计-工具用法大全
- 微信小程序使用 iconfont 彩色图标(mini-program-iconfont-cli)
- 数学建模—降维—因子分析
- Redis笔记-基础篇(黑马视频教程)
- 《Effective C++》 总结篇(杂项讨论)
- 恢复清除回收站的文件怎么操作
- 读“端到端原则”有感
- ElasticSearch~ES文档操作~对文档的增删改查