AC自动机是一种多模匹配算法。
 
常见操作
 
查询一个串的子串
 
任何一个串的子串都可以表示成他的一个前缀的后缀
 
他的前缀可以在Trie树上查询
 
后缀相当于其在fail树上的所有祖先
 
例1 : HDU4117
 
接上。首先AC自动机要学会离线。
 
对于每个点查询祖先复杂度很大。但其实可以每个祖先计算其对子树的贡献。
 
而这个过程可以对fail树的dfn序建线段树维护
 
例2 :HDU4787
 
这题不能离线了。
 
但其实可以对AC自动机根号重构。
 
例3 :Gym - 104542F
 
和例1类似
 
只不过离线变成了kruskal重构树