AcWing 835. Trie字符串统计
原题链接
简单
作者:
08-69
,
2021-04-11 20:27:05
,
所有人可见
,
阅读 2
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int p[N][27],cnt[N],idx=1;
char s[N];
void add(char *s){
int j=0;
for(int i=0;s[i];i++){
int u=s[i]-'a';
if(p[j][u]==0) p[j][u]=idx++;
j=p[j][u];
}
cnt[j]++;
}
int f(char *s){
int j=0;
for(int i=0;s[i];i++){
int u=s[i]-'a';
if(p[j][u]==0) return 0;
j=p[j][u];
}
return cnt[j];
}
int main(){
int n;
char op[2];
scanf("%d",&n);
while(n--){
scanf("%s%s",op,s);
if(op[0]=='I') add(s);
else printf("%d\n",f(s));
}
return 0;
}