首页 > 代码库 > 二分图学习整理

二分图学习整理

今天学习了一下二分图,赶紧总结整理一下:

二分图问题,有很多,但归根结底还是求最大匹配数。

二分图最大匹配及常用建图方法

Point 1:

二分图中的最小点覆盖数 = 最大匹配数

最小点覆盖:也就是说用最少的点覆盖所有的边


Point 2 :

二分图中的最小路径覆盖 = 顶点数 - 最大匹配数 

最小路径覆盖:也叫最小边覆盖,是指用尽量少的不相交的路径覆盖图中的所有顶点。


Point 3:

二分图的最大独立集合 = 顶点数 - 最大匹配数

独立集合:即 独立于所有联通边集之外的点,也就是与图中任意一个点都不相连的点集


PS:学好图论没有途径,就刷题、刷题、再刷题


pku 1466 Girls and Boys  http://poj.org/problem?id=1466 


这是一道典型的二分匹配的题目,并且非常简单,使用模板即可AC。

题目大意:在N个点的图G中选出m个点,使这m个点两两之间没有边.求m最大值. 
如果图G满足二分图条件,则可以用二分图匹配来做.最大独立集点数 = N - 最大匹配数。


最大独立数=未匹配的节点+匹配数/2   (1)(设n=匹配数/2,可以理解为去掉二分图某侧匹配好的n个节点,

在另一侧对应的n个节点就没有相匹配的了)


未匹配的节点=顶点数-匹配数      (2)


由(1)(2)得: 最大独立数=顶点数-匹配数的一半


参考:http://blog.163.com/zjut_nizhenyang/blog/static/1695700292010920914230/ 


2:pku 1719 Shooting Contest 二分图匹配
http://blog.163.com/zjut_nizhenyang/blog/static/169570029201010199320592/ 
建图,输出匹配就行了


//题目分析:题目其实要求你以x,y坐标作为二分图的两个节点部分,然后让你找到一个匹配,然后根据一个部分的节点顺序把对应的另一个节点输出
//思路分析:直接用dfs实现的匈牙利算法来解决二分图
参考:http://blog.163.com/zjut_nizhenyang/blog/static/169570029201010199320592/ 




3:pku 1422 二分图,最小路径覆盖 
http://poj.org/problem?id=1422 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/16957002920101025922340/ 




4:pku 2594 Treasure Exploration floyd 重新建图+最小路径覆盖+二分图
http://poj.org/problem?id=2594 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/1695700292010102583552414/ 




5:pku 3216 Repairing Company floyd 最短路+二分图最大匹配
http://poj.org/problem?id=3216 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/169570029201010257563738/ 




6:pku 1904 King‘s Quest 强连通分支,二分图
http://poj.org/problem?id=1904 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/1695700292010102572022595/ 




7:pku 3041 二分图 最小点覆盖数=最大匹配数
http://poj.org/problem?id=3041 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/1695700292010102462244415/ 




8:zjut 1321 Dividing 二分图匹配
http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1321 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/1695700292010102454153206/ 




9:pku 2771 Guardian of Decency  二分图,最大独立集 
http://poj.org/problem?id=2771 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/1695700292010111065019932/ 




10:pku 1325 Machine Schedule 二分图最小点覆盖
http://poj.org/problem?id=1325 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/1695700292010111035942586/ 




11:pku 1486 Sorting Slides 二分图必须边
http://poj.org/problem?id=1486 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/1695700292010111032443864/ 




12:pku 2536 Gopher II 二分图匹配
http://poj.org/problem?id=2536 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/1695700292010117113611862/ 




13:pku 2239 Selecting Courses 二分图匹配
http://poj.org/problem?id=2239 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/16957002920101171151319/ 




14:pku 1274 The Perfect Stall 二分图匹配 
http://poj.org/problem?id=1274 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/1695700292010117102245344/ 




15:pku 2724 Purifying Machine 二分图最小路径覆盖 
http://poj.org/problem?id=2724 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/1695700292010111495830231/ 




16:pku 3020 Antenna Placement 二分图最小路径覆盖 
http://poj.org/problem?id=3020 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/1695700292010111485846859/ 




17:pku 2446 二分图最大匹配的应用 
http://poj.org/problem?id=2446 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/169570029201011148555347/ 




18:pku 2226 Muddy Fields 二分图 最小点覆盖 
http://poj.org/problem?id=2226 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/1695700292010111365944100/ 




19:zjut 1478 挽救损失  二分图 最小点覆盖 
http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1478 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/1695700292010111365248521/ 




20:pku 2060 Taxi Cab Scheme 二分图最小路径覆盖
http://poj.org/problem?id=2060 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/16957002920101111433360/ 




21:pku 1548 Robots 二分图最小路径覆盖 
http://poj.org/problem?id=1548 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/169570029201011113748927/ 




22:pku 3692 Kindergarten  二分图最大独立集,求补图的最大独立集 
http://poj.org/problem?id=3692 
参考:http://blog.163.com/zjut_nizhenyang/blog/static/1695700292010111075931537/