后缀数组小记

Posted wlzhouzhuan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了后缀数组小记相关的知识,希望对你有一定的参考价值。

定义

(sa[i]) 表示第 (i) 小的后缀对应原串的位置
(rk[i]) 表示第 (i) 个后缀的排名
(x[i]) 表示第 (i) 个后缀的第一关键字排名,即当前的 (rk[i])
(y[i]) 表示第 (i) 小的第二关键字对应的第几个后缀
(c[i]) 是一个计数数组,用于基数排序用

方法

考虑倍增,每次从 (2^k) 转移到 (2^{k+1}) ,可以发现每个 (2^{k+1}) 串可以表示为两个 (2^k) 的子串,分别对应两个关键字。
用基数排序即可。
复杂度 (O(nlogn))







以上是关于后缀数组小记的主要内容,如果未能解决你的问题,请参考以下文章

后缀数组记录

完全弄懂后缀数组

后缀数组入门——Height数组与LCP

后缀数组入门

后缀数组

后缀数组