Trie树模板
const int N = 1000010;
int son[N][27],ids, cnt[N];
void insert(string str){
int p=0;
for (int i = 0; i < str.size(); i ++ ){
int u=str[i]-'a';
if(!son[p][u])son[p][u]=++ids;
p=son[p][u];
}
cnt[p]++;
}
int find(string str){
int p=0;
for (int i = 0; i < str.size(); i ++ ){
int u=str[i]-'a';
if(!son[p][u])
return 0;
p=son[p][u];
}
return cnt[p];
}