一、题干:acwingTrie字符串统计
![](https://i-blog.csdnimg.cn/blog_migrate/1770cbbc56d6839fe83b8cfd67f9a793.png)
二、代码实现
#include<iostream>
using namespace std;
const int N = 1e5 + 10;
int t[N][26],b[N],idx = 0;
void insert(char *str)
{
int p = 0;
for(int i = 0; str[i]; i ++ )
{
int u = str[i] - 'a';
if(t[p][u] == 0) t[p][u] = ++ idx;
p = t[p][u];
}
b[p] ++;
}
int query(char *str)
{
int p = 0;
for(int i = 0; str[i]; i ++ )
{
int u = str[i] - 'a';
if(t[p][u] == 0 ) return 0;
p = t[p][u];
}
return b[p];SS
}
int main()
{
int n;
cin>>n;
while(n--)
{
char op;
char x[N];
cin>>op>>x;
if(op == 'I')
{
insert(x);
}
else if(op == 'Q')
{
cout<<query(x)<<'\n';
}
}
}