蒟蒻求助
查看原帖
蒟蒻求助
371136
渔歌楼主2021/2/24 17:01

自动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;
}
2021/2/24 17:01
加载中...