问
  • 板块学术版
  • 楼主Tomle
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/5/4 09:14
  • 上次更新2024/5/4 10:57:39
查看原帖
问
942161
Tomle楼主2024/5/4 09:14

蒟蒻刚学了 SA,有点思路,问问各位 dalao 对不对。

给定一个长度为 nn 的字符串 ss,qq 次询问 lcp⁡(sl1,r1,sl2,r2),l1≤l2\operatorname{lcp}(s_{l1,r1},s_{l2,r2}),l1\le l2。

先跑 SA,求出 height,用 ST 表维护 height 的最小值。lcp⁡(sl1,n,sl2,n)=query(rkl1+1,rkl2)\operatorname{lcp}(s_{l1,n},s_{l2,n})=query(rk_{l1}+1,rk_{l2})。

加上长度限制,lcp⁡(sl1,r1,sl2,r2)=min⁡{query(rkl1+1,rkl2),r1−l1+1,r2−l2+1}\operatorname{lcp}(s_{l1,r1},s_{l2,r2})=\min\{query(rk_{l1}+1,rk_{l2}),r1-l1+1,r2-l2+1\}。

感觉是对的。

2024/5/4 09:14
加载中...