SAM 几乎可以算是信息竞赛中字符串的终极解决方案。几乎所有的比较难的字符串题都可以通过 SAM 的性质结构之类的东西延伸出来。
事实上,更准确的说 SAM 更像数据结构,是一种与 tire 树类似的东西。
其结构是一张 DAG 与 一棵树的和,这二者的点集都是一样的。DAG 上的边与 trie 上的类似,都是表示一个字母。
通过走 DAG 上的边,我们可以表示这个字符串的所有子串,通过走 parent 树上的边,我们可以表示所有当前节点表示的子串的所有后缀。
后缀自动机(SAM)
未经允许不得转载:小健博客 » 后缀自动机(SAM)