匹配问题(最大匹配,最小覆盖,最大独立集) 欢迎大家来讨论

以下是关于匹配问题的相关几个题目,大家只要把匈牙利算法的模板根据具体题目修改下就可以了

匈牙利算法的模板:http://blog.csdn.net/cg05568256068/archive/2009/04/30/4140816.aspx

 

Girls and Boys 最大独立集

链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1466

或者:http://acm.hdu.edu.cn/showproblem.php?pid=1068

解法一:n-max_match/2 (提交可以通过)

这里要注意的地方,最后要除以2. 因为假如(A  B)是involved 那(B A)也是involved,重复计算

 

解法二:(提交后wa,不明白为什么,望大家指点)

我在构建二分图的时候,对于(A B)和(B A)这种我只构建一个,即单边的。这样二分图的边数将减少一半

最后输出的只要是n-max_match,但是提交wa了,不明白为什么

 

Air Raid 最小覆盖问题

链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1422

或者:http://acm.hdu.edu.cn/showproblem.php?pid=1151

思路:

    假设求得的最大匹配是max_match,对这max_match个全部raid,那么他们对应的也都可以到达,这样就有2*max_match个已经被到达,剩下n-2*max_match。

所以最后需要的就是max_match + (n-2*max_match) = n - max_match

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值