AC自动机的实现原理是KMP + 字典树。 学AC自动机之前要先去学KMP 和 字典树。
第一步先构建一个字典树。
1 void Insert(){ 2 int rt = 1, len = strlen(str); 3 for(int i = 0; i < len; i++){ 4 int id = str[i] - 'a'; 5 if(trie[rt][id] == 0){ 6 cnt[tot] = 0; 7 fair[tot] = 0; 8 trie[rt][id] = tot++; 9 } 10 rt = trie[rt][id]; 11 } 12 cnt[rt]++; 13 }