AC自动机
AC自动机主要用于多模式串的匹配
AC自动机是基于字典树 Tier 的,在匹配失败时,并不完全回退,而是到达 fail
指针那里
fail
指针的构造方式为:
- 通过 BFS 的方式来构造
- 第一层节点的
fail
指向根节点 - 对于任何一个节点,其
fail
为:paren->fail->fail-> ... ->child(current)
;如果不存在,那么其fail
指向根节点。(这里用了递归的思想)
fail
的时候发生了什么:(当前已经匹配的模式串会变化)
如图:
AC自动机的代码为:
TODO:应该再明确 AC 自动机是干什么的,以及该怎么用。