摘要:        
构建过程 基数排序 tips:先比较低位,再比较高位 时间复杂度 o(nk) 其中 k 表示位数 思考:如果我把一个串的位数压缩的尽可能小 ??? 倍增优化。考虑每一轮让比较的长度变为原来的两倍。 结构 一些应用 先引入两个新的数组:height[i] 表示 sa[i] 和 sa[i-1] 的最长公    阅读全文
posted @ 2022-01-25 21:25
仰望星空的蚂蚁
阅读(14)
评论(0)
推荐(0)
        
            
        
        
摘要:        
思路是这样的 我们考虑二分答案串 然后对于每个后缀,找到最近的至少要切割的位置 大概转化出来就是叫你在 [l,r] 内必须切一刀 (这个都会吧) 关键在于怎么二分。 理论上本质不同的子串只有 o(n^2) 个,但是暴力对每个子串排序的复杂度非常高 所以二分排名。 那么考虑在 sa 数组中从小到大扫一    阅读全文
posted @ 2022-01-25 10:25
仰望星空的蚂蚁
阅读(9)
评论(0)
推荐(0)
        

 浙公网安备 33010602011771号
浙公网安备 33010602011771号