字符串
文章平均质量分 87
Bluesky_lt
这个作者很懒,什么都没留下…
展开
-
字符串学习(exkmp)
exkmp 定义:设字符串T,长度为n,字符串S,长度为m。在线性时间内求出T的每一个后缀所对应S的最长前缀。 算法需要: ex[i]:表示主串S以i开始的后缀与子串T的最长公共前缀。 next[i]:表示子串T中以i开始的后缀与子串本身的最长公共前缀。//参照kmp中的next的含义 代码模板 const int maxn=10086; //字符串长度最大值 int next[maxn],ex[maxn]; //ex数组即为extend数组 //预处理计算next数组 void GETNEXT(cha原创 2021-01-29 20:11:35 · 677 阅读 · 0 评论 -
字符串学习(KMP算法)
对于字符串问题一直只知道使用模板,脱离了模板题就不知道该怎样更改板子。 一定是没有理解清楚算法本身的含义,所以这几天详细学习了一下各个算法本身及其一些比较普遍的拓展。希望能够开阔以后的解题思路。 KMP算法详解 人眼优化字符串匹配 我们串中的位置指针i,j来说明,第一个位置下标以0开始,我们称为第0位。下面看看,如果是人为来寻找的话,肯定不会再把i移动回第1位,因为主串匹配失败的位置(i=3)前面除了第一个A之外再也没有A了,我们为什么能知道主串前面只有一个A?因为我们已经知道前面三个字符都是匹配的!(这很原创 2021-01-29 16:21:21 · 1174 阅读 · 3 评论