这是我第一次AC的代码片段:
inl void insert(int k,char* s){
int p=0,len=strlen(s);
for(int i=0;i<len;i++){
int x=s[i]-'a'+1;
p=AC[p].son[x]?AC[p].son[x]:AC[p].son[x]=++cnt;
AC[p].end++;
}
idx[k]=p;
}
...
inl void query(char* t){
int p=0,len=strlen(t);
for(int i=0;i<len;i++){
int x=t[i]-'a'+1;
p=AC[p].son[x];
sum[p]+=AC[p].end;
}
}
这样做会重复累加 但是竟然AC了
可以被(二次加强版)的样例hack掉:
input:
5
a
bb
aa
abaa
abaaa
abaaabaa
0
output:
13
a
answer:
6
a
数据太水了qwq