题意:用最少的括号将给定的字符串匹配,输出最优解。可能有空行。思路:dp。dp[i][j]表示将区间i,j之间的字符串匹配需要的最少括号数,那么如果区间左边是(或[,表示可以和右边的字符串匹配,枚举中间断点k,如果str[i]==str[k]则dp[i][j]=min(dp[i][j],dp[i+1...
分类:
其他好文 时间:
2014-08-05 13:46:00
阅读次数:
270
KMP算法是快速字符串匹配算法,朴素的暴力算法的时间复杂度为O(n*m),而KMP通过对模式串进行相应的处理,能够达到O(m+n)的速度。
我们知道在字符串匹配的时候最消耗时间的就是当匹配到第 i 个位置发现不匹配时,下一次又对模式串进行一次重新匹配,那么假如模式串中有很多相同的字母的话,这样做了很多重复的事情,那么我可以对模式串进行一定的处理,处理处一个对应的数组,让他保存假如这里不匹配是我下...
分类:
其他好文 时间:
2014-08-05 09:37:19
阅读次数:
172
今天一天鼓捣了两种字符串匹配的算法,KMP算法和BM算法,说实话,BM算法还是第一次听说,以前只知道BM算法的说,总之一句话,要学习的还是很多的,看了BM算法,只能感叹作者的高大上了。看了好几篇文章,终于算是把BM算法实现了,并且调试运行成功了,把这学习的经过记录下来,聊表纪念。 1 #inclu....
分类:
其他好文 时间:
2014-08-05 00:08:18
阅读次数:
314
对于数组s[0~n-1],计算next[0~n](多计算一位)。
考虑next[n],假设t=n-next[n],如果n%t==0,则t就是问题的解,否则解为1。
这样考虑:
比如字符串"abababab",
a b a b a b a b *
next -1 0 1 2 3 4 5 6 7
考虑这样的模式匹配,将"ababa...
分类:
其他好文 时间:
2014-08-04 21:38:08
阅读次数:
294
对于KMP算法中next函数的应用
题意是对于一个字符串的前缀和后缀比较是否相等,再把相等的可能按字符串长度进行输出
#include
#include
#include
using namespace std;
int len;
int next[1000005];
char s[1000005];
int kmp_next()
{
int i=0,j=-1;
...
分类:
其他好文 时间:
2014-08-04 21:32:38
阅读次数:
239
题意是求第一个字符的前缀和后一个字符串的后缀最大的公共序列,并输出。。。
将两个字符串合并,求出kmp中的next数组就行,但要注意不要大于某个字符串的长度;
#include
#include
const int N = 50005;
#define min(a,b) ((a)
char s1[N], s2[N], s3[N * 2];
int next[N * 2];...
分类:
其他好文 时间:
2014-08-04 17:36:47
阅读次数:
207
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1686题目大意:寻找子链在母链中出现的次数。 1 #include 2 #include 3 #include 4 using namespace std; 5 int next[10010],su...
分类:
其他好文 时间:
2014-08-04 17:33:17
阅读次数:
210
学习kmp算法我最后是看的数据结构书上的一本教材学会的。。我觉得kmp相对于普通的BF算法就是避免了很多不必要的匹配,而kmp算法的精髓自然就在于next数组的运用。。。而next数组简而言之就是存储的就是模式串中第j个字符与主串中相应字符“失配”时,在模式串中需要重新和主串中失配的字符相比较的位置。。。我觉得这句概括挺好的。。。
题1:
hdu 1711 number sequen...
分类:
其他好文 时间:
2014-08-04 14:34:27
阅读次数:
277
kmp算法--求字符串子串--《数据结构》严蔚敏...
分类:
其他好文 时间:
2014-08-03 12:46:55
阅读次数:
204
题目是牛仔裤的意思,不过看不出题意和Blue Jeans有什么关系。
本题的数据是很水的,数据量小,故此可以使用非常暴力的方法过,也可以使用不那么暴力的KMP过。
这里使用更加不暴力的Trie后缀树过,这种解法就一点都不水了,呵呵。
思路:
1 建立所有字符串的后缀Trie树
2 增加额外信息,看每过路径是否是所有的字符串都经过了,如果是,那么就是合法的字符串了,查找最长的这样的字符串...
分类:
其他好文 时间:
2014-08-03 10:21:21
阅读次数:
239