高能预警!!!这只是一篇蒟蒻的学习笔记!!!
陈立杰的ppt:https://wenku.baidu.com/view/90f22eec551810a6f4248606.html
更多:http://blog.csdn.net/wmdcstdio/article/details/44780707
https://huntzhan.org/suffix-automaton-tutorial/
http://blog.csdn.net/cyendra/article/details/37993603?utm_source=tuicool
2017.8.28 upd:
①从SAM的根节点出发,任意一条路径都对应一个子串。
②对于一个状态表示的字符串,它的fa状态表示的字符串是其后缀。
③对于一个状态表示的字符串长度的区间[Min,Max],可以认为是从root出发可以走[Min,Max]步到达此状态。
理解太表浅了……
2017.8.30 upd:
①每次跳fa就相当于是砍掉了一段前缀。
②每个节点控制的是len,也就是Max,因此不用再维护Min。
③两个状态的right集合要么不相交,要么是包含关系。
④当前状态的right集合是fa状态right集合的子集,fa状态所有儿子right并集就是fa的right集合。
⑤一般用基数排序来实现从当前状态向上更新。