后缀自动机的结构
后缀自动机的结构
后缀自动机(及广义后缀自动机)衍生的题目有很多,要完成这些题目,必须了解后缀自动机的结构
下面简要列举几点:
\(1.\)设放入后缀自动机的字符数为\(n\),则后缀自动机节点数级别为\(2n\),后缀自动机中边数的级别为\(3n\)
\(2.\)后缀自动机有一个源点,从源点可以到达后缀自动机的任何一个点
\(3.\)从源点到所有节点的路径包含了所有原字符串的子串,且不重复
\(4.\)后缀自动机是个\(DAG\)(有向无环图),可以进行拓扑排序(与\(DP\)相结合)
\(5.\)每个节点代表一个\(endpos\)集合,\(endpos\)集合有几个引理,详见这里,节点与节点间有有向的\(link\)边,构成一颗\(parent\)树,\(parent\)树有很多优秀性质,可以与各种算法和数据结构相结合