
kmp算法
Loi_LXTT
这个作者很懒,什么都没留下…
展开
-
KMP算法:学习笔记
—一种字符串的快速匹配算法: 举个栗子: 找S2在S1中出现的位置: 正常的做法:先从第一个位置开始匹配,匹配到S2的最后一位时,发现不同,这时,把S2右移一位,再从头开始匹配,如图: 如此匹配下去,直到: 但是,我们可以看出,前面的三次匹配都是多余的,我们可不可以直接跳到这一步呢? ——KMP算法 我们一开始是匹配到最后一位d和a不同,也就是说,这之前的6位都是匹配的,在原创 2017-09-28 10:52:19 · 337 阅读 · 0 评论 -
<kmp>codevs 1404 字符串匹配
题面传送门以为是kmp的裸题(其实差不多233),结果调了半天,后来搜了题解才知道要怎么改。 在kmp算法的过程中,如果在每循环到i时,记ans[p]++。这个数组代表的意义是:到字符串A的第i个字符的最大匹配长度。但是,对于ans[nxt[p]],我们却没有作记录。所以在最后处理ans函数时,先倒序处理一遍(一定要倒序),这样才能累加。这样子处理出来的ans数组代表大于等于它的所有答案,最后的原创 2017-10-09 16:21:23 · 472 阅读 · 0 评论