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

来源:互联网 发布:软件系统安全方案 编辑:程序博客网 时间:2024/06/05 15:17

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

匈牙利算法的模板: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

原创粉丝点击