hdu 3746 kmp求循环节
题意就是将所给的字符串变成多个完整的循环(至少两个),然后给出最少需要添加的字符数。
1 #include<stdio.h> 2 #include<iostream> 3 #include<string.h> 4 #include<algorithm> 5 using namespace std; 6 const int MAXN=100010; 7 char str[MAXN]; 8 int next[MAXN]; 9 10 void getNext(char *p) 11 { 12 int j,k; 13 j=0; 14 k=-1; 15 int len=strlen(p); 16 next[0]=-1; 17 while(j<len) 18 { 19 if(k==-1||p[j]==p[k]) 20 { 21 j++; 22 k++; 23 next[j]=k; 24 } 25 else k=next[k]; 26 } 27 } 28 int main() 29 { 30 int T; 31 scanf("%d",&T); 32 while(T--) 33 { 34 scanf("%s",&str); 35 getNext(str); 36 int len=strlen(str); 37 if(next[len]==0) 38 { 39 printf("%d\n",len); 40 continue; 41 } 42 int t=len-next[len]; 43 if(len%t==0)printf("0\n"); 44 else 45 { 46 printf("%d\n",t-len%t); 47 } 48 } 49 return 0; 50 }
转载于:https://www.cnblogs.com/cnblogs321114287/p/4334026.html
hdu 3746 kmp求循环节相关推荐
- hdu 3374 String Problem (字符串最小最大表示 + KMP求循环节)
Problem - 3374 KMP求循环节. http://www.cnblogs.com/wuyiqi/archive/2012/01/06/2314078.html 循环节推导的证明相当的好,这 ...
- hdu 3746 kmp求循环节 下标从1开始
长度为m[1,2...m]的模式的循环节为 m-next[m] , aaa 循环节clc为1 (clc=m-next[m]= 3-2 =1) 此时 m%clc == 0 表示 ...
- KMP算法求循环节,为什么能求循环节
众所周知,KMP算法可以求最小循环节,为什么可以求循环节呢? 博主之前对KMP算法的理解不够深入,最近突然又想起来了,就深入研究了一下. KMP算法中最重要的就是next数组,next[i]表示是字符 ...
- hdu 4291 矩阵幂 循环节
http://acm.hdu.edu.cn/showproblem.php?pid=4291 凡是取模的都有循环节-----常数有,矩阵也有,并且矩阵的更奇妙: g(g(g(n))) mod 109 ...
- 51nod 1126 求递推序列的第N项 思路:递推模拟,求循环节。详细注释
题目: 看起来比较难,范围10^9 O(n)都过不了,但是仅仅是看起来.(虽然我WA了7次 TLE了3次,被自己蠢哭) 我们观察到 0 <= f[i] <= 6 就简单了,就像小学初中学的 ...
- HDU 6740 MUV LUV EXTRA(求循环节)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6740 中文题意链接:http://acm.hdu.edu.cn/contests/contest_sh ...
- zzulioj 1825: 会长爱数学 (求循环节)
1825: 会长爱数学 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 5 Solved: 1 SubmitStatusWeb Board Descr ...
- c语言 查找循环节起点,用C语言怎么求循环小数的循环节?
满意答案 zybehqej 推荐于 2016.09.09 采纳率:43% 等级:8 已帮助:512人 1.判断循环的关键是在确定每位小数的时候,判断余数是否出现与之前的相同. 2.例程:int ...
- C++之求循环小数循环节
■题目描述 : 任意分数都可以写成小数的形式,样例是有限小数或无限循环小数中的一种. ■输入描述: 两个正整数p和q,代表分子和分母. 两个正整数p和q,代表分子和分母.且1 ...
- HDU - 3746 Cyclic Nacklace(KMP的next数组判循环节)
题目链接:点击查看 题目大意:现在规定想要制作一串珍珠手链,需要用到两段一模一样的字符串首位相接而成,现在给定一个字符串,问最少需要添加几个珍珠才能满足条件 题目分析:一开始以为是个简单的模拟题,但后 ...
最新文章
- Sci. Adv. | 新算法识别治疗肺动脉高压的候选抗癌药物
- Git与GitHub的使用
- mysql 时区设置
- 短代码 html,WordPress的短代码问题嵌入HTML格式
- SAP UI5 的 兼容性规则 Compatibility Rules
- mega x_[MEGA DEAL]通过Hadoop Bundle掌握大数据(91%的折扣)
- 《画解算法》3. 无重复字符的最长子串【python3丨简单】
- ARP攻击的心得体会
- 【转】博客美化(5)为博客或系统添加一个强大的评论系统
- 转【28个Unix/Linux的命令行神器-----陈皓】
- .php on line 0,windows启动apache提示PHP Startup: in Unknown on line 0
- 全面开创城市数字经济新时代
- 经纬度WGS84地理坐标系转换成CGCS2000坐标系步骤
- 消除“星期一综合症”--- 大前研一的周末时间分配术
- select2控件+拼音智能检索
- 哪吒之魔童降世视听语言影评_《哪吒之魔童降世》观后感——不用吹爆,但值得点赞...
- IOS上传app store审核截图规格要求
- 大学生如何学习Java
- GoLang 单元测试打桩和 mock
- 超实用的视频转码器:HandBrake for Mac中文版
热门文章
- 趣图:SQL 版的喝椰汁,没想到吧
- 蓝翔改名变成“技院”了?网友评论炸了:我真的没想歪...
- 利用计算机系统辅助设计人员,计算机基础知识:计算机辅助设计
- easypoi中excel注解开关_easypoi: 入,Word模板导出,通过简单的注解和模板 语言(熟悉的表达式语法),完成以前复杂的写法...
- mysql基础之数据库变量(参数)管理
- 【转】mysql数据库优化大全
- 这两天测试软件发现的问题
- 用javascript+PHP随机显示图片
- 通过文件结构直接生成xls文件
- jQuery UI =jquery-ui.js中sortable方法拖拽对象位置偏移问题