题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2222
这题是比较裸的AC自动机,很容易想出AC做法但却并不容易AC。。。
1、首先!这题有重复的单词!!
2、千万不要在for循环里用strlen!!这题匹配串长度1000000,如果每次循环都要strlen,那计算开销是相当大的。我不在里面打strlen时间343ms,如果在里面大strlen则直接TLE。
3、最好不要用memset
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
#include <stack>
using namespace std;
const int N=500003;
int T,n,ans=0;
int ch[N][26],fail[N],danger[N],cnt=1;//id[N]