#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int cur=1;
struct node
{
int next[26];
int idx;
void init()
{
idx=0;
memset(next,-1,sizeof(next));
}
};
node t[1000110];
void in(char *s,int n) //²åÈë
{
int p=0;
for(int i=0;i<n;i++)
{
int x=s[i]-'a';
if(t[p].next[x]==-1)
{
t[cur].init();
t[p].next[x]=cur++;
}
p=t[p].next[x];
t[p].idx++;
}
}
void query(char *s) //²éѯ
{
int i=0,p=0;
while(s[i])
{
int x=s[i]-'a';
if(t[p].next[x]==-1)
{
printf("0\n");
return ;
}
p=t[p].next[x];
i++;
}
printf("%d\n",t[p].idx);
}
int main()
{
return 0;
}
Trie树数组版
最新推荐文章于 2022-03-29 00:41:05 发布