后缀数组
##简介后缀数组(Suffix Array, SA)是一种在字符串问题中很实用的工具,其主要作用是求多模板匹配和最长公共前缀(LCP)。与 AC自动机 预先处理模板串不同,后缀数组在进行多模板匹配的是预处理文本串。##模板后缀数组的构造方法主要有三个: 哈希、倍增、DC3。其中哈希是近似算法,方便写,虽然不能保证绝对正确但效果还是比较好的;哈希和DC3都是线性时间复杂度的,而倍增算法则是 $O(Mlog_2N) ,\text{M:字符集长度;N:串长}$ ,不过由于 DC3 难于理解,不太实用,本篇文章将不会涉及。###Hash比较好理解,不过写起来根倍增难度不相上下,而倍增可以保证绝对正确,
...