AcWing 835. Trie字符串统计
原题链接
简单
作者:
自由周某
,
2020-08-03 16:58:59
,
所有人可见
,
阅读 377
#include<iostream>
using namespace std;
const int N = 2e4 + 5;
int s[N][26];
int cnt[N], id;
void insert(string str){
int p = 0;
for(int i = 0; str[i]; i++){
int u = str[i] - 'a';
if(s[p][u]) p = s[p][u];
else {s[p][u] = ++id; p = s[p][u];}
}
cnt[p]++;
}
int query(string str){
int p = 0;
for(int i = 0; str[i]; i++){
int u = str[i] - 'a';
if(s[p][u]) p = s[p][u];
else return 0;
}
return cnt[p];
}
int main(){
int n;
cin>>n;
while(n --){
char x;
string ss;
cin >> x >> ss;
if(x == 'I')insert(ss);
else cout<<query(ss)<<endl;
}
return 0;
}