二分图总结

二分图大概有一下几个性质:

1.点覆盖集:
集合中的点:图G中每一条边的至少有一个顶点在这个集合中;

2.点独立集:
集合中的点:任意2个点在图G中都不相邻。

3.路径覆盖:
在图中找一些路径(注意是路径不是边!!),这些路径覆盖图中所有的顶点,每个顶点都只与一条路径相关联。

 

a为覆盖集,b为独立集。

                   图1

4.最小点覆盖集:
集合中点最少的覆盖集。
最小覆盖数=最大匹配数。

覆盖集与独立集互补。(如上图1)

5.最大点独立集:
集合中点最多的独立集。
方法:最大独立数=点数n-最大匹配数。

6.最小路径覆盖:
在所有的路径覆盖中,路径个数最小的就为最小路径覆盖数。
方法:最小路径覆盖数=总结点个数-最大匹配数。

7.最小点权覆盖集:
带点权的图G中,权值最小的覆盖集。
方法:最大流建图求最小割。
正的与源点相连,负的与汇点相连,建图。
c(v,u)=INF,(s,v),(u,t)中至少一条边在最小割中,正好与点覆盖集限制条件的形式相符。
而目标是最小化点权之和,恰好也是最小割的优化目标。

例题:poj2125   题解:http://www.cnblogs.com/sweat123/p/4924380.html

8.最大点权独立集:
带点权的图G中,权值最大的独立集。
最大点独立集是最小点覆盖集的对偶问题,所以最大点权独立集=总的权值-最小点权覆盖集。

例题:poj3692   题解:http://www.cnblogs.com/sweat123/p/4925629.html 

9.最优完备匹配:

二分图中每个点有权值,|x|=|y|=匹配数时,我们称该匹配方案为完备匹配,所有匹配边的权和最大,记做最优完备匹配。

方法:KM算法。

posted @ 2015-10-30 19:19  sweat123  阅读(256)  评论(0编辑  收藏  举报