二分图匹配的扩展问题
2015-09-05 09:54
281 查看
/** 前面提到了匈牙利算法解决二分图匹配问题,但是基于二分图还有几个经常 见的扩展问题如下: 1、最大独立集点数 2、最小顶点覆盖数 3、最小路径覆盖数 ********************************************************************** 最大独立集点数: 有5个同学,小明,小强,小壮,小雨,小丽,现在要做游戏,可是小雨 小丽都不喜欢小明,问最多能挑出多少学生使他们在一起玩??? 显然答案为4,直接把小明赶走即可,因为如果小明在,小雨和小丽两个女女 就不干了。。 *最大独立集点数 = N - 最大匹配数 如下建图 小雨 * * *小明 * 小丽 * 小强 小壮 最大匹配为 1,有 5 个点,所以最大独立集点数为 5 - 1 = 4; ********************************************************************** 最小顶点覆盖数: 即在二分图中用最少的点关联所有的边,如上图:最小顶点覆盖数为 1 即小明一个人就关联了仅存的两条边。。 最小顶点覆盖数 = 最大匹配数 Konig定理:二分图的最小顶点覆盖数等于最大匹配数。 网上有关于这个定理的证明。。。 后面还会遇到树的最小支配集,即最少的点关联所有的点或边。。。 树的最小支配集用贪心和树形DP 解决,后面会提到 ********************************************************************** 最小路径覆盖 路径覆盖就是在*无环有向图*中找一些路径,使之覆盖了图中所有顶点,且 任何一个顶点有且只有一条路径与之关联。 最小路径覆盖 = N - 最大匹配数 ********************************************************************** 二分图匹配和网络流一样,都在于建图,应该说几乎所有的图论题都在于建图 建图的技巧和难度,决定了这道题的质量和难度,所以会套模板是基础,建图才是 王道…… 注意:上面3个只适用于有向无环图,当为无向图时可以通过拆点转换为无向图,但 算出的最大匹配得除二。。 但不能有环 拆点:N个点 则把 X 点拆成 2N+X 则 2N+X 完全等价X 去添边,即无向边ab, 可拆成 a->2N+b b->2N+a。。用匈牙利算法算出最大匹配除二即为匹配 */ 收藏于 2011-11-23 来自于百度空间
相关文章推荐
- 自动和强制类型转换
- C++——friend
- 解决kali linux中metasploit无法升级的问题
- java 操作mongodb
- ThinkPHP源码学习之I方法
- 选择有时比努力更重要
- 日经春秋 20150905
- 分栏/自定义分栏的隐藏
- 匈牙利算法 && EK(邻接表)
- 前端路上的各种问题-javascript—7
- bzoj3990[SDOI2015]排序
- WHERE CAN I BUY DAKELE BIG COLA 3 ?
- Windows内存管理
- Leetcode: Decode Ways
- dhcpd 软件,出现客户端获取ip时间长的问题
- 一款极具工匠情怀的...
- js怎么跳转页面?
- leetcode_Unique Binary Search Trees_easy
- java操纵redis工具类(切片链接池方式)
- Wordpress安装