带权并查集维护二分图

带权并查集维护二分图

今天CF1C的一道题,不会这个trick,愉快掉分。

维护二分图相当于连边的时候判断能否形成奇环

如果两个点不在同一并查集,他们祖先连的边的权值=\(w[u]\oplus w[v]\oplus 1\),考虑二分图染色,如果uv同色,连通块间需要加上一条权值为1的边来转换颜色,这也是带权并查集比dfs好的地方

如果在同一个并查集,检查颜色(\(w[u/v]\))是否相同,相同就有奇环,染色失败。

posted @ 2020-11-01 22:07  lcyfrog  阅读(273)  评论(1编辑  收藏  举报