二分图匹配问题(——模板习题与总结)

  首先得知道什么是二分图匹配问题,给出一个二分图,每个人与另外的一个或者多个人存在某种关系

    问将他们两两配对的对,最多能配成多少对。

  其次,明确几个专业名词。

    最大匹配:边数最多的匹配成为最大匹配。

    最大匹配数:最大匹配的边数称为边独立数或者匹配数。

    最大点独立集:顶点数最多的点独立集称为最大点独立集。

    点独立数:最大点独立集的顶点数称为点独立数。

  接下来总结一下,如何计算二分匹配的最大匹配。

  这里介绍一下匈牙利算法,至于另外的网络流解法随后再说。

  匈牙利算法的原理是: 从当前匹配M(可以是空集)出发,检查每一个未盖点,然后从他出发寻找可增广路,找到可增广路,沿着这条可增广路进行扩充,直到不存在可增广路为止。

  未盖点出发寻找可增广路的方法有DFS增广,BFS增广,这里只介绍DFS增广。

  最后,熟记几个公式。

  最大匹配数

    模板习题:http://www.cnblogs.com/wenzhixin/p/7363354.html

  点独立数=顶点数-最大匹配数

    模板习题:http://www.cnblogs.com/wenzhixin/p/7361114.html

  最小点覆盖数=最大匹配数

    模板习题:http://www.cnblogs.com/wenzhixin/p/7361409.html

  最小路径覆盖数=顶点数-最大匹配数

    模板习题:http://www.cnblogs.com/wenzhixin/p/7363128.html

  最小边覆盖(未补充)

  最后总结,该类问题难,不是算法,而是建模,模建好了,问题不大。

  

转载于:https://www.cnblogs.com/wenzhixin/p/7662450.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值