带权并查集维护二分图
带权并查集维护二分图
今天CF1C的一道题,不会这个trick,愉快掉分。
维护二分图相当于连边的时候判断能否形成奇环
如果两个点不在同一并查集,他们祖先连的边的权值=\(w[u]\oplus w[v]\oplus 1\),考虑二分图染色,如果uv同色,连通块间需要加上一条权值为1的边来转换颜色,这也是带权并查集比dfs好的地方
如果在同一个并查集,检查颜色(\(w[u/v]\))是否相同,相同就有奇环,染色失败。
今天CF1C的一道题,不会这个trick,愉快掉分。
维护二分图相当于连边的时候判断能否形成奇环
如果两个点不在同一并查集,他们祖先连的边的权值=\(w[u]\oplus w[v]\oplus 1\),考虑二分图染色,如果uv同色,连通块间需要加上一条权值为1的边来转换颜色,这也是带权并查集比dfs好的地方
如果在同一个并查集,检查颜色(\(w[u/v]\))是否相同,相同就有奇环,染色失败。