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