字符串处理
文章平均质量分 51
dna049
我的个人独立数学博客 http://dna049.com
展开
-
KMP算法
// KMP算法中一个很重要的就是next数组// next[j]表示子串满足P[0...k-1]=p[j-k...j-1]的最大的k// 根据定义next[0]=-1// 如果 p[j]==p[k],则由p[j-1]=k-1知next[j]=p[j-1]+1=k// 如果 p[j]!=p[k],则可以看成匹配失败的情况,k将转移到next[k]#includevoid getNex原创 2014-03-18 19:24:18 · 489 阅读 · 0 评论 -
Sunday算法
// Sunday算法本质上就是BM算法,可以说完全是抄袭BM算法的思想// 只是改变了一些细节,使得代码变得更优// 从strstr到KMP是质变。KMP到BM也是华丽转身// 从BM到Sunday只是修修边幅罢了// 与KMP算法类似,Sunday算法也是构造辅助数组,只是Sunday算法中数组构造比较巧妙罢了// 假定所有的字符串都是ASCII码时可以使用// 以下代码参考了h原创 2014-03-18 20:21:41 · 622 阅读 · 0 评论 -
hdu2222 AC自动机
#include#includeconst int ASSIZE=26;struct Trie{ int cnt; Trie* fail; Trie* next[ASSIZE]; Trie(){ cnt=0; fail=NULL; for(int i=0;i!=ASSIZE;++i) next[i]=NULL;原创 2014-03-26 18:05:24 · 510 阅读 · 0 评论 -
最长回文o(n)算法
关于最长回文的讲解,大家可以看转载 2014-04-07 13:21:51 · 631 阅读 · 0 评论