题意:给出n个串,再给出一个文本串T,问哪些串在文本串中出现的次数最多。
思路:直接AC自动机搞,感觉还是比较裸的,每次遇到结尾的单词就给这个串出现次数+1。看完Trie和KMP感觉AC自动机还是蛮好理解的,之前看了看算导,感觉KMP和AC自动机都是一种有限自动机,把状态转移图弄好了就ok~
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<map>
#include<queue>
#include<set>
#include<stack>
#include<cmath>
#include<vector>
#define inf 0x3f3f3f3f
#define Inf 0x3FFFFFFFFFFFFFFFLL
#define eps 1e-9
#define pi acos(-1.0)
using namespace std;
typedef long long ll;
const int maxn=200