字尾自動機的結構

2022-05-17 14:55:18 字數 458 閱讀 7927

字尾自動機(及廣義字尾自動機)衍生的題目有很多,要完成這些題目,必須了解字尾自動機的結構

下面簡要列舉幾點:

\(1.\)設放入字尾自動機的字元數為\(n\),則字尾自動機節點數級別為\(2n\),字尾自動機中邊數的級別為\(3n\)

\(2.\)字尾自動機有乙個源點,從源點可以到達字尾自動機的任何乙個點

\(3.\)從源點到所有節點的路徑包含了所有原字串的子串,且不重複

\(4.\)字尾自動機是個\(dag\)(有向無環圖),可以進行拓撲排序(與\(dp\)相結合)

\(5.\)每個節點代表乙個\(endpos\)集合,\(endpos\)集合有幾個引理,詳見這裡,節點與節點間有有向的\(link\)邊,構成一顆\(parent\)樹,\(parent\)樹有很多優秀性質,可以與各種演算法和資料結構相結合

字尾自動機

基礎知識 step i 表示的是字串i在原字串中的位置。pareint i 表示root到parent i 的子串是root到i的最長字尾。字尾自動機遍歷可以得到原字串的所有子串。特殊技巧 一 字尾自動機的不同子串數有兩種求法 1.ans step i step parent i 1 i cnt 2...

字尾自動機

常用於處理字串問題,可以高效解決許多字串問題。有點像將乙個字串的所有字尾都建在乙個ac自動機上,但不同的是字尾自動機的節點數最多為2 n,因為它只記錄需要記錄的點,一些沒有記錄東西的點可以視為與下面有價值的節點並在一起,這樣大大降低了時間複雜度和空間複雜度。對於每乙個節點記錄它的後面加上每個字元後字...

字尾自動機

基礎學習 簡潔明瞭的講解 總狀態數不超過2n 12n 1 2n 1 包括初始狀態 統計每個end po sendpos endpos 等價類出現位置數量時,要按長度從長到短的計算cnt cntcn t。那為什麼一定要從長到短呢?比如回文自動機就直接是按照節點編號從大到小計算cnt cntcn t 罪...