KMP算法
文章平均质量分 52
Roly_Yu
快码佳编
展开
-
Codeforces Round #106 (Div. 2) 149/E E. Martian Strings
/* http://codeforces.com/problemset/problem/149/E KMP结合动态规划的思想,正向匹配一边,l[]数组保存的是对于匹配串的每一个位置在模式串能匹配的最左边,也就是首次匹配的位置 逆序再匹配一次,逆向信息保存r[]数组。 再枚举l[i]+r[len-i]*/#include#include#includestring.h>#incl原创 2014-03-14 17:22:29 · 644 阅读 · 0 评论 -
poj(2752)
题目:http://poj.org/problem?id=2752#include #include#include#define MAX 400005using namespace std;int next[MAX];char a[MAX];int lena;int aa[MAX];void getnext(char *p){ int i原创 2014-03-13 14:15:23 · 516 阅读 · 0 评论 -
poj2406
http://poj.org/problem?id=2406#include #include#include#define MAX 1000000using namespace std;int next[MAX];char s[MAX];int len;void getnext(char *p){ int i = 0, j = -1;原创 2014-03-13 14:15:25 · 409 阅读 · 0 评论 -
Similar Word
Similar WordTimeLimit: 1 Second MemoryLimit: 32MegabyteTotalsubmit: 45 Accepted: 11 DescriptionIt was a crummy day for Lur. He failed to pass to the CET-6(College English Test Band-6原创 2014-03-13 14:14:40 · 1179 阅读 · 0 评论 -
poj3461
http://poj.org/problem?id=3461#include #include #include #define MAX 1000000using namespace std;int next[MAX];char a[MAX],b[MAX];int lena,lenb;int kmp(){ inti=0,j=0; int ans= 0;原创 2014-03-13 14:15:18 · 512 阅读 · 0 评论 -
hdu(1711)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1711 #include #include #include const int maxn = 1000005;using namespace std;int a[maxn],b[maxn];int n,m;int next[maxn];void getnext(int原创 2014-03-13 14:16:14 · 494 阅读 · 0 评论 -
HDU(3374) (KMP + 最小表示法)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3374最小表示法:http://tobyaa.blog.163.com/blog/static/30248591201261604349913/#include #include string.h>#include #include using namespace std;const i原创 2014-03-14 17:21:57 · 687 阅读 · 0 评论 -
hdu(Number Sequence 1711)kmp
NumberSequenceTimeLimit: 10000/5000 MS(Java/Others) MemoryLimit: 32768/32768 K (Java/Others)Total Submission(s):5019 AcceptedSubmission(s): 2263Problem DescriptionGiven two sequence原创 2014-03-13 14:14:30 · 520 阅读 · 2 评论 -
FZU Problem 1926 填空(KMP好题一枚,确实好)
题目:http://acm.fzu.edu.cn/problem.php?pid=1926#include #include #include string>#include string.h>#include #include #include #include #include using namespace std;const int maxn原创 2014-03-14 17:21:51 · 604 阅读 · 0 评论 -
Codeforces Round #117 (Div. 2) D. Common Divisors
http://www.codeforces.com/problemset/problem/182/D利用到KMP的周期性。现寻找最小周期,再进行扩充。#include #include #include string>#include string.h>#include #include #include #include #include #inc原创 2014-03-14 17:21:36 · 549 阅读 · 0 评论 -
poj(2185) Milking Grid (很好的kmp题目)
http://poj.org/problem?id=2185 题意:给你一个字符矩阵,求出它的最小覆盖子矩阵,即使得这个子矩阵的无限复制扩张之后的矩阵,能包含原来的矩阵。 即二维的最小覆盖子串。思路:KMP很好的一道题。首先易证:最小覆盖子矩阵一定靠左上角。那么,我们考虑求出每一行的最小重复串长度,所有行的最小重复串的长度的lcm就是最小重复子矩阵的宽。然后我们对列也做相同的操作。于是原创 2014-03-14 17:21:23 · 532 阅读 · 0 评论 -
HDU(1867)A + B for you again (KMP)
#include #include #include string>#include string.h>#include #include #include #include #include #include #include using namespace std;const int maxn = 100002;char s1[maxn],s原创 2014-03-14 17:22:26 · 498 阅读 · 0 评论 -
hdu 3746
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3746只需要判断lena%(lena-next[lena])== 0即可.#include #include#include#define MAX 1000000using namespace std;int next[MAX];char a[MAX];int原创 2014-03-13 14:15:21 · 418 阅读 · 0 评论