Lang:G++
Edit12345678910111213141516171819202122232425262728293031//Gavin http://www.cnblogs.com/IMGavin/#include<cstdio>#include<iostream>#include<cstdlib>#include<cstring>#include<string>#include<algorithm>#include<map>#include<queue>#include<vector>#include<cmath>#include<utility>using namespace std;typedef long long LL;#define Hash(x) (x - 'a')const int N = 500008, CH = 26;struct Trie{Trie *next[CH];Trie *fail;int len;};int flag[N];char str[N];class ACauto{Trie tree[N];private: