kmp
文章平均质量分 74
霜刃未曾试
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU 1686 Oulipo kmp模板
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1686题意:给一个模式串,一个目标串,问目标串中有几个模式串思路:kmp模板题,留个模板。。。#include #include #include #include using namespace std;const int N = 10010;char s1[N], s2[N*1原创 2016-07-23 16:24:58 · 380 阅读 · 0 评论 -
HDU 2594 Simpsons’ Hidden Talents kmp || extkmp
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2594题意:给定两个字符串s1,s2s1,s2,求s1s1的前缀和s2s2的后缀相等的最大长度思路:kmpkmp的话,直接用s1s1去匹配s2s2即可。extkmpextkmp的话,也是用s1s1去匹配s2s2,从前往后,找到一个i+extend[i]=leni+extend[i] = len的第一个位置即可原创 2017-08-31 09:21:47 · 273 阅读 · 0 评论 -
HDU 4300 Clairewd’s message 扩展kmp || kmp
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4300题意:有一段字符串由密文和明文组成,密文是完好的,明文可能是残缺的。首先给出密文转换表,然后给出密文明文字符串,然后复原出最短的密文明文字符串(补上明文)思路:可以用扩展kmp求解。首先,明文的起始位置一定在字符串后半段(密文 >= 明文),于是把前半段转换成明文,然后用扩展kmp求每一个位置原创 2016-07-26 09:56:49 · 490 阅读 · 0 评论 -
HDU 6153 A Secret kmp || extkmp
题目:http://acm.hdu.edu.cn/showproblem.php?pid=6153题意:给出两个字符串s1,s2s1,s2,求出s2s2的每一个后缀在s1s1中出现的次数乘以这个后缀的长度,并累加求和,输出这个和思路:kmpkmp和extkmpextkmp都可以做。 extkmpextkmp:求得是s2s2后缀在s1s1中出现的次数,我们将两个字符串翻转,就可以求s2s2前缀在s1原创 2017-08-29 20:16:03 · 413 阅读 · 0 评论 -
HDU 3613 Best Reward manacher || kmp || extkmp
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3613题意:有一个长度为nn的项链,有2626种宝石组成,用字母aa至zz表示,每种宝石都有一定的价值。要求把项链切成两段,一段项链只有是一个回文串的时候才有价值,价值是这段项链上所以宝石价值之和,否则价值为00。求切割后两段项链的最大价值思路:用manachermanacher算法的话,处理出以每个点为中心原创 2017-08-30 17:17:56 · 381 阅读 · 0 评论 -
POJ 3080 Blue Jeans KMP
题目:http://poj.org/problem?id=3080题意:给定m个字符串,长度都为60,且只有ACGT四种字符,问这m个串的最长公共串是什么,若有多个,输出字典序最小的那个,长度小于3的输出no significant commonalities思路:枚举第一个字符串的,每次去掉首部一个字符,然后用kmp去匹配剩下的所有字符串,求得所有公共长度的最小值,然后取其中的最大值,记原创 2016-07-25 15:46:21 · 463 阅读 · 0 评论 -
HDU 1238 Substrings kmp
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1238题意:给定一些字符串,求这些字符串和它们的倒置字符串的最长公共长度是多长思路:把第一个字符串每次去掉前一个字符作为模式串,去匹配其他字符串和它们的倒置字符串,取两者之中的较大值,然后取这些结果中的最小值,就是以当前模式串匹配的公共长度。然后去这些公共长度中的最大值即可#include #原创 2016-07-27 11:24:37 · 524 阅读 · 0 评论 -
HDU 1867 A + B for you again kmp算法
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1867题意:给定两个字符串,把一个字符串接在另一个字符串的后面,相接部位若有相同,则可以略去其中一个字符串的相同部分,输出拼接后最小长度的字符串,若有两种最小长度的字符串,输出字典序较小的那个思路:可以用kmp匹配一个字符串的尾部和另一个字符串的首部相同的最大长度,然后交换两个字符串的次序,再来一次原创 2016-07-24 15:42:49 · 642 阅读 · 0 评论 -
POJ 2752 Seek the Name, Seek the Fame kmp算法
题目:http://poj.org/problem?id=2752题意:给定一个字符串,求这个字符串前缀等于后缀时的长度(前缀或后缀长度)思路:用next数组性质可做,画个图很容易看出来#include #include #include #include using namespace std;const int N = 400010;char s[N];int nt原创 2016-07-24 13:54:58 · 334 阅读 · 0 评论 -
HDU 3746 Cyclic Nacklace kmp算法
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3746题意:给定一个字符串,问在两端最少添加多少个可以使字符串变成循环的思路:用kmp算法中next数组的性质可以求解。首先先要求出字符串的循环节,若总长度可以整除循环节,则说明字符串完全由循环节构成,这时要判断一个循环节长度是不是等于总长度,若相等,说明只有一个循环节,要再添加一个循环节的长度,若原创 2016-07-24 13:37:36 · 394 阅读 · 0 评论 -
POJ 1961 Period kmp求循环节
题目:http://poj.org/problem?id=1961题意:给定一个字符串,判断字符串从开头到每个字符之间的一段字符串有没有形成循环,若有循环,输出这个位置及循环次数思路:用kmp算法求循环节,记得判断一下循环次数为1的情况,这种情况不是循环#include #include #include #include using namespace std;const原创 2016-07-24 13:16:15 · 594 阅读 · 0 评论 -
POJ 2406 Power Strings kmp算法求循环节
题目:http://poj.org/problem?id=2406题意:给一个字符串,问字符串中有多少个循环思路:可以根据kmp中next数组的性质来求解,此处next数组求法跟通常所用的有所不同#include #include #include #include using namespace std;const int N = 1000010;char s[N];原创 2016-07-23 20:48:34 · 621 阅读 · 0 评论 -
HDU 2087 剪花布条 kmp
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2087题意:Problem Description一块花布条,里面有些图案,另有一块直接可用的小饰条,里面也有一些图案。对于给定的花布条和小饰条,计算一下能从花布条中尽可能剪出几块小饰条来呢? Input输入中含有一些数据,分别是成对出现的花布条和小饰原创 2016-07-23 19:37:34 · 525 阅读 · 0 评论 -
HDU 1711 Number Sequence kmp算法
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1711题意:给定两个数组,问能不能再第一个数组中匹配得到第二个数组,如果可以,那么输出最早匹配的起始位置,否则输出-1思路:kmp直接匹配即可,中间写搓了一个地方,晕-_-||#include #include #include #include using namespace std;原创 2016-07-23 19:13:47 · 1976 阅读 · 0 评论 -
HDU 2203 亲和串 kmp算法
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2203题意:Problem Description人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问题,同样的问题Eddy也一直在思考,因为他在很小的时候就知道亲和串如何判断了,但是发现,现在长大了却不知道怎么去判断亲和串了,于是他只好又再一次来请教聪明且乐于原创 2016-07-23 18:14:59 · 1423 阅读 · 0 评论 -
HDU 4763 Theme Section extkmp
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4763题意:给定一个字符串,找到一个子串,使得字符串呈现出"EAEBE""EAEBE"这样的形式,其中"E""E"是要找的子串,"A""B""A""B"可以不存在,求这个子串的最大长度思路:首先求出exkmpexkmp的NextNext数组,接下来就可以用NextNext数组来求解。可以发现首部和尾部的子串是原创 2017-08-31 09:39:41 · 368 阅读 · 0 评论
分享