AC自动机——搜索关键词
搜索关键词 给定 n 个长度不超过 50 的由小写英文字母组成的单词,以及一篇长为 m 的文章。 请问,有多少个单词在文章中出现了。 输入格式 第一行包含整数 T,表示共有 T 组测试数据。 对于每组数据,第一行一个整数 n,接下去 n 行表示 n 个单词,最后一行输入一个字符串,表示文章。 输出格式 对于每组数据,输出一个占一行的整数,表示有多少个单词在文章中出现。 数据范围 1 ≤ n ≤ 1 0 4 1≤n≤10^4 1 ≤ n ≤ 1 0 4 , 1 ≤ m ≤ 1 0 6 1≤m≤10^6 1 ≤ m ≤ 1 0 6 输入样例: 1 5 she he say shr her yasherhs 输出样例: 3 题解: 第一道ac自动机的题,相对于kmp,ac自动机就是把一维的信息放在了树上来进行统计了。 # include <bits/stdc++.h> using namespace std ; const int N = 1e4 + 7 , S = 55 , M = 1e6 + 7 ; int ne [ N * S ] , con [ N * S ] , tr [ N * S ] [ 26 ] , cnt ; char str [ M ] ; queue < int > q ; void insert ( ) { int p = 0 ; for ( int i = 0