摘要: 目的:找出字符串S的所有后缀与字符串T的最长公共前缀,预处理Next[i]。 S字符串长度为n,T字符串长度为m。 Next[i],i∈[0,m),表示T的后缀i与T的最长公共前缀。 extend[i],i∈[0,n),表示T与S[i,n)的最长公共前缀。如果有一个extend[i]=m,则T在S中 阅读全文
posted @ 2019-08-09 23:17 myrtle 阅读(222) 评论(0) 推荐(1) 编辑
摘要: 目的:在字符串T中查找字符串P的出现位置,预处理P字符串得到fail数组 时间复杂度:O(|P|+|T|) next[i]定义为字符s[i]前面最多有多少个连续的字符和字符串s从初始位置开始的字符匹配,i∈[1,n] 循环节问题: 字符串长度为n,若n%(n-Next[n])==0,必有循环节,且循 阅读全文
posted @ 2019-08-09 20:39 myrtle 阅读(348) 评论(1) 推荐(1) 编辑