#include
#include
#include
using namespace std;
const int maxn = 1e6+7;
int s[maxn];//文本串
char p[2000010];//匹配串
int next[2000010];//匹配串的next数组
void GetNext(int n)
{
int pLen = n;
next[0]...
分类:
其他好文 时间:
2015-01-04 17:07:23
阅读次数:
135
int s[maxn];//文本串
int p[10007];//匹配串
int next[10007];//匹配串的next数组
//优化过后的next 数组求法
void GetNextval(int n)//n代表p数组的长度
{
int pLen = n;
next[0] = -1;
int k = -1;
int j = 0;
while (j ...
分类:
其他好文 时间:
2015-01-04 11:23:54
阅读次数:
178
kmp的讲解:http://blog.csdn.net/u013076044/article/details/41833325
next数组的详细讲解:http://blog.csdn.net/yearn520/article/details/6729426
这两道题就是套一下模板:
poj1961&poj 2406
/×po...
分类:
编程语言 时间:
2014-12-28 14:17:15
阅读次数:
230
kmp字符串匹配算法简明教程,文章里用python实现了kmp匹配及求next数组。
分类:
编程语言 时间:
2014-12-17 09:44:18
阅读次数:
190
点击打开链接 http://acm.hdu.edu.cn/showproblem.php?pid=1829
题意:给出n个关系啊a,b,表示a和b是异性,问是否存在矛盾,即存在a和b是同性。
思路,并查集,用f[i]记录i的父亲,next[i]表示同一个集合里的下一个元素,根据next数组可以遍历出一个集合里的所有元素,len[i]表示i和集合的根的关系,0表示同性,1表示异性。 每输入一个a...
分类:
其他好文 时间:
2014-12-11 12:32:00
阅读次数:
175
题目大意:你在输入文章的时候,键盘上的Home键和End键出了问题,会不定时的按下。
给你一段按键的文本,其中'['表示Home键,']'表示End键,输出这段悲剧的文本。
思路:使用链表来模拟,遇到Home键,就将后边的文本插入到这段文本的最前边,遇到
End键,就插入到这段文本的最后边。但是用链表会用到指针,过程比较繁琐。这里用一个
Next数组模拟指向,Next[i]表示当前显示屏中s[i]右边的字符下标。再用一个cur表示当前
光标的位置,last表示最后一个字符的记录位置,这样遇到End键,就能直...
分类:
编程语言 时间:
2014-12-09 23:09:36
阅读次数:
413
题目链接:http://poj.org/problem?id=2406思路:1.理解Kmp算法的next数组的意义;2.对于字符A[i],i-next[i]等价于在字符串中存在一个长度为i-next[i]的重复子串;3.当 i % (i - next[i]) == 0 等价于字符串由 (i/(i-n...
分类:
其他好文 时间:
2014-12-06 15:21:23
阅读次数:
173
KMP算法最难懂的就是next[]数组的求法。
用一个例子来解释,下面是一个子串的next数组的值,可以看到这个子串的对称程度很高,所以next值都比较大。
位置i
0
1
2
3
4
5
6
7
8
9
10
11
12
13
...
分类:
编程语言 时间:
2014-12-05 22:47:39
阅读次数:
240
我们来看一道题目:hihoCoder #1015 : KMP算法 输入 第一行一个整数N,表示测试数据组数。 接下来的N*2行,每两行表示一个测试数据。在每一个测试数据中,第一行为模式串,由不超过10^4个大写字母组成,第二行为原串,由不超过10^6个大写字母组成。 其中N
#include
usi...
分类:
编程语言 时间:
2014-12-04 13:50:52
阅读次数:
178
哇,你造吗。。。蒟蒻当年NOI这道题。。。可是拿了0分哦~(废话这么多,你弱怪我啊!)我们先kmp一次,记录下next数组及cnt数组,其中cnt表示他前面可以匹配的模式串个数。然后在类似kmp的做一次,记录下Next数组,Next == next + 长度限制。于是。。。ans = Π (cnt[...
分类:
其他好文 时间:
2014-12-01 20:42:35
阅读次数:
240