令 hj 倍增,即定义新的数组 hj′ 使得:
- h2j′=∞;
- h2j−1′=hj。
查询时转化为区间 [2rnka+1,2rnkb+1] 的最小值。这里是闭合区间,可以省去一些麻烦的讨论。
数组长度由 n 变为 2n+1。
例如:
1 2 3 4 5 6 7 8 9
h: h1 h2 h3 h4
h': inf h1 inf h2 inf h3 inf h4 inf
查询排名为 2,4 的后缀的 lcp,则我们可以查询 (2,4] 中的 min{hi};这相当于查询 [2×2+1,2×4+1]=[5,9] 中的 min{hi′}。