题目大意:
给定 n 个长度不超过 50 的由小写英文字母组成的单词,以及一篇长为 m 的文章,问有多少个单词在文章中出现了,多组数据。
——————————————————————
AC自动机裸题。
(C++AC,G++TLE我能说什么……)
#include#include #include #include #include #include using namespace std;const int N=1e4+3;const int M=1e6+3;const int L=50+3;struct trie{ int ed; int a[26]; int fail; void clear(){ ed=fail=0; memset(a,0,sizeof(a)); return; }}tree[N*L]={ 0};char s[M];int cnt=0;inline void insert(){ int now=0; int len=strlen(s); for(int i=0;i >t; while(t--){ tree[0].clear(); cnt=0; int n; cin>>n; for(int i=1;i<=n;i++){ cin>>s; insert(); } getfail(); cin>>s; cout< <