【笔记】后缀自动机 SAM
对于每个状态她有两个关键的东西:
-
当前等价类中的数据,即
len
最长长度、siz
出现次数等; -
link
。
转移边也有两种:
-
nxt
遍历以表达所有的字串;以当前为前缀的字串,即是这个的状态的子树。 -
link
等价类之间的转移(相当于是很多个nxt
一起跳。算一个点所有的 endpos 是这个。
关于跳 link:
-
如果开始跳的起点只有一个(比如初始时的 insert,她时间复杂度是线性的。
-
如果开始跳的起点有多个(比如【[HEOI2016/TJOI2016] 字符串】),她就会 T(需要倍增