自动WA机
为啥这样写AC自动机的insert就会有问题呢
想的是有一个不成立(字典树中没有)之后必定都不成立。然后就只有12分。改正常后就100了。
inline void insert(int p){
int i=0,j=0;
bool pan=0;
for(;sin[i];i++){
if(trie[j][sin[i]-'a'])j=trie[j][sin[i]-'a'];
else{
trie[j][sin[i]-'a']=++last;
i++;
pan=1;
break;
}
}
for(;sin[i];i++)trie[last][sin[i]-'a']=++last;
if(pan)j=last;
sym[p]=j;
}