后缀数组小记
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))
以上是关于后缀数组小记的主要内容,如果未能解决你的问题,请参考以下文章