随笔分类 - 后缀数组
摘要:当前找出所有最短的重复串,删去之后,不会再出现小于等于当前长度的重复串了。 那么重复串的长度最多有 $O(\sqrt n)$ 种,删去就用后缀数组实现,枚举当前长度的分割点,求公共前缀长度和公共后缀长度,就是当前重复的长度了,然后就打标记删去即可。 #include <bits/stdc++.h>
阅读全文
摘要:[传送门] 先求出SA和height。然后找到 rank[l] 的 height 值。能成为相同子串的就是和rank[l]的lcp不小于 $len$ 的。二分出左右端点之后,主席树求第k小即可。 #include <bits/stdc++.h> const int N = 1e5 + 7; char
阅读全文

浙公网安备 33010602011771号