您的位置:首页 > 其它

ac自动机模板

2016-04-11 20:07 316 查看
ac自动机模板(makefail)

void makefail() {
for(int i=0,j=1;i<j;) {
int x=d[++i];
fo(k,0,25)
if (trie[x].son[k]) {
int y=trie[x].son[k];
if (x) {
int z=trie[x].next;
while (z&&!trie[z].son[k]) z=trie[z].next;
trie[y].next=trie[z].son[k];
}
if (!trie[y].sum) trie[y].sum=trie[trie[y].next].sum;d[++j]=y;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: