首先先直接对图进行二染色,dfs染完色后,有的边为搜索树边,有的为非树边,当非树边连接的两头的点为异色的时候,那么很明显这条非树边和树边构成的环上的边必然不可能成为答案:如果非树边的两端的点同色,那么所有这种类型的非树边与树边构成的环的交集就是答案,对于一条这样的非树边,如果要使其变成二分图的合法边,那么必然会在其与树边构成的环中剔除掉一条边,这样树变成了两个部分,把其中一部分反色,在连上这条非树边,也是一个合法二分图,那么所有这种类型的边构成的环的交集,就是答案的可选集. 代码 #includ…