//////////////////////////////////////////////////
/*KMP算法*/
#include
#include
#include
using namespace std;
void getNext(char a[],int next[]){
int i,j;
next[1] = 0;
j = 0;
i = 2;
int m = strle...
分类:
编程语言 时间:
2015-07-16 19:58:59
阅读次数:
359
题目链接:http://poj.org/problem?id=2752题意:给一个字符串,判断前缀和后缀是相同的位置,把这些位置从小到大输出出来。题解:通过字符串得到next数组,然后从next[len]开始。其值就是最后一个是相同前缀后缀的位置,然后,i=next[i],就是不断的向前找,就匹配了...
分类:
其他好文 时间:
2015-07-15 22:23:47
阅读次数:
103
搞了一晚上AC自动机,发现需要先学trie和kmp……都不会啊。。于是又去现学KMP和trie。。终于基本看懂AC自动机了。#include using namespace std;struct node{ int next[26];//每一个节点可以扩展到的字母 int fail;//...
分类:
其他好文 时间:
2015-07-15 22:20:46
阅读次数:
109
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1358题意:大概就是说给你一个字符串,然后找出能够循环的子串,输出子串某位置以及循环节的个数。题解:用KMP算法得到next数组。然后,从i=2开始遍历,得到的i-next[i]为循环节大小。如果对于i能...
分类:
其他好文 时间:
2015-07-15 18:21:49
阅读次数:
106
最近在学字符串匹配的时候接触了这个算法,算法书上都是我讨厌的下标,转来转去,头晕啊。只好上网搜一下,大部分跟书上一样,好不容易找到一篇,总算看得有些懂了。 其实最简单的字符串匹配,就是逐个逐个比较,但是这样的效率很低,而KMP算法利用了......(不说了,表达能力差啊,^_^,看看牛人怎么解释的吧...
分类:
编程语言 时间:
2015-07-15 16:43:00
阅读次数:
96
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3746题意:给一段字符串,求添加多少个字符,使得这个字符串至少循环两次。题解:先求的next数组,然后,len-next[len]的值为最小循环节。所以,如果len能够整出这个循环节,则已经构成了循环了,...
分类:
其他好文 时间:
2015-07-15 16:40:15
阅读次数:
118
KMP里里外外学了很多遍,然后从一位大牛那里学到了比较易懂的理解方法。博客链接:http://www.matrix67.com/blog/archives/115唉~KMP算法Next数组强大无比。Next数组: 1 //next数组的求法 2 void getNext(int len) 3 { 4...
分类:
编程语言 时间:
2015-07-15 16:30:22
阅读次数:
177
KMP算法介绍http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html为什么java的String没有用KMPhttp://www.zhihu.com/question/27852...
分类:
其他好文 时间:
2015-07-13 11:49:33
阅读次数:
93
KMP算法是一种改进的字符串匹配算法,由D.E.Knuth与V.R.Pratt和J.H.Morris同时发现,因此人们称它为克努特——莫里斯——普拉特操作(简称KMP算法)。
KMP算法的关键是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。即确定下一次应该从那个位置重新开始匹配。
char*obj = "cbcba";
char*src = "sdcbcbcb...
分类:
编程语言 时间:
2015-07-11 09:19:17
阅读次数:
250
题目大意:给定一棵仙人掌,求有多少自同构仙人掌同构问题= =
曾经出过一个判断两个仙人掌是否同构的题,感觉和这个题很类似首先假设这是一棵树,考虑怎么做我们首先找到树的重心(如果有两个就在中间加一个点变成一个)
然后把树Hash
对于一棵树 如果某一哈希值的子树有kk个 就把答案乘上一个k!k!现在变成了仙人掌,那么我把每个环变成一个红点连向环上的所有点,然后把原先环上的边拆除,可以得到一棵树,...
分类:
编程语言 时间:
2015-07-10 15:16:21
阅读次数:
254