二分图判定

只要能把图上所有的点划分到两个集合 \(S_1,S_2\),且满足对于所有边 \(u\leftrightarrow v\)\(u\in S_1,v\in S_2\)\(v\in S_1,u\in S_2\),该图就是二分图。

可以证明,它等价于图上不存在奇环

常用的判定算法有并查集,把一个点 \(u_0\) 拆为 \(u_1,u_2\),对于边 \(u_0\leftrightarrow v_0\),连接 \(u_1\leftrightarrow v_2\)\(v_1\leftrightarrow u_2\),表示从一个点的一种状态可以推导出另一个点的一种状态。连接前,若 \(u_1,v_1\) 已经连通,则该图不是二分图。

动态的话可以考虑线段树分治 & 可撤销并查集。

posted @ 2022-12-17 20:52  Network_Error  阅读(44)  评论(0)    收藏  举报