基础:AC自动机是建立在 trie 树和 kmp 基础之上的,为什么这么说,因为AC自动机是基于字典树的数据结构之上的,其次它是一个自动机,用到了 kmp 的失配数组的思想. 应用:在模式匹配的问题中,如果模板有很多个,可以用AC自动机来求解. 结构:字典树结构: Fail数组(失配数组):如果现在已经匹配到一个结点,如果匹配失败,则将指正转移到 Fail 指针指向的地方,这样就不用回溯而直接匹配下去了.(举个例子:如abce和bcd,我们找到c发现下一个要找的不是e,就跳到bcd中的c处,看看…