Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>#include <cstdlib>#include <cstring>#include <cmath>#include <ctime>#include <iostream>#include <algorithm>#include <queue>#include <set>#include <map>#include <stack>#include <string>#include <vector>#include <deque>#include <list>#include <functional>#include <numeric>#include <cctype>using namespace std;const int MAX_PATTERN_NUM = 1010;const int MAX_PATTERN_LEN = 1000010;//const int MAXQ = MAX_PATTERN_NUM * MAX_PATTERN_LEN;const int MAXQ = 1000010;const int MAX_TEXT_LEN = 1000100;const int MAXK = 26; //字符集的大小const char BASE = 'a';typedef struct TrieNode {TrieNode* fail;TrieNode* next[MAXK];int cnt;TrieNode() {