1. 程式人生 > >字串-我寄愁心與明月

字串-我寄愁心與明月

字串

KMP

  • Fail

完了。

Suffix Automaton

  • Right/Endpos
  • Longest/Mx & Shortest/Mn
  • 兩個狀態要麼是包含關係,要麼無交集。
  • 求拓撲序等同於對 Mx 排序。
  • 求 Right 集合大小:新加點時 V[x] = 1 ,拆出來的新點權值為零,拓撲排序之後 V[Par[x]] += V[x]
  • 求 Right 集合元素:類似求大小,拓撲排序之後更新父親,用資料結構去合併。新加點時 V[x] = 1, Right[x].insert(Tot)Tot 是這時主串總長度)。
  • 空間足夠就直接開 Nxt[_N][26]
    map 實測很慢容易 TLE 。