如果你 TLE
查看原帖
如果你 TLE
759459
flowing_boat楼主2024/5/28 23:26
  • 判断 answer=1{\tt answer} = 1 时不要用 Hash,用 SA 的 LCP 去判,这样单次是 O(1)O(1) 的,而非 Hash + 逆元的大常。(这十分重要,实测可以将第二个点从 847ms 减到 186ms,对代码常熟提升巨大)

  • 提前预处理 [1,n][1,n] 的因数,这样子 O(N)O(\sqrt{N}) 查询时就跑不满了。

  • 注意你查 answer=2{\tt answer} = 2 时把求出最短 AA 串的数组存下来,不要放到线段树上 O(log⁡n)O(\log n) 的去查。

  • SA 数组处理的常数优化。

2024/5/28 23:26
加载中...