AC自动机(Aho-Corasick Automaton),虽然不能够帮你自动AC,但是真的还是非常神奇的一个数据结构.AC自动机用来处理多模式串匹配问题,可以看做是KMP(单模式串匹配问题)的升级版.常常见到这样的说法,AC自动机 = Trie树 + KMP. 原理初步 首先对于所有的模式串,我们先需要利用Trie树将其建起来.AC自动机最巧妙的部分在于失配指针(fail)的构建,也就类似KMP中的next数组,只不过现在变为了多模式串.在匹配的时候沿着trie树走,发现不匹配即跳转失配指针,…