现在的位置: 首页 > 综合 > 正文

匈牙利算法求二分图的最大匹配—-杭电ACM

2014年02月02日 ⁄ 综合 ⁄ 共 2552字 ⁄ 字号 评论关闭

Pku acm 1466 Girls and Boys数据结构题目解题报告(十七)---- 匈牙利算法求二分图的最大匹配

阅读本文前请先阅读我blog的另一篇文章:匈牙利算法求二分图的最大匹配(2008-4-12).
有了匈牙利算法的基础,该题就是一道非常简单的题目了:题目给出一些boy和girl,有一些人有罗曼史,比如A和B有罗曼史,那么B和A就有罗曼史,求最多有多少人,他们之间没有罗曼史,根据这样的规则构建一个二分图:boy和girl分两边,分别作为左右结点,根据规则如果有罗曼史就连接,否则不连接,求出最大匹配,N-max_number_of_couples/2即为要求的结果,因为比如A和B有罗曼史,那么B和A就有罗曼史,所以重复算了一次(在这种情况下A和B去掉一个即可)。
带有详细注释的代码可以在http://download.csdn.net/user/china8848/获得

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/china8848/archive/2008/04/29/2341908.aspx

 

Pku acm 3041 Asteroids 数据结构题目解题报告(十六)---- 匈牙利算法求二分图的最大匹配

阅读本文前请先阅读我blog的另一篇文章:匈牙利算法求二分图的最大匹配(2008-4-12).
题目给出一个矩阵,上面有敌人,每个子弹可以打出一横行或者一竖行,问最少用多少子弹消灭都有敌人,如:
X.X
.X.
.X.
x表示敌人,显然用两个子弹就可以解决所有敌人。
下面介绍一下二分图的最小点覆盖数:假如选了一个点就相当于覆盖了以它为端点的所有边,你需要选择最少的点来覆盖所有的边。König定理是一个二分图中很重要的定理,它的意思是,一个二分图中的最大匹配数等于这个图中的最小点覆盖数。
这样,我们可以构建一个这样的二分图,左右边的结点数分别是矩阵的行和列,然后有敌人的地方就连接上(例如第一行第一列有敌人,就连接左边的1和右边的1),这样,二分图中的每条边就代表一个敌人,我们找到最少的n个点,这n个点能覆盖二分图中的所有边,即是最小点覆盖数,根据König定理,一个二分图中的最大匹配数等于这个图中的最小点覆盖数,所以只要求这样一个二分图的最大二分匹配即可。
带有详细注释的代码可以在
http://download.csdn.net/user/china8848/获得 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/china8848/archive/2008/04/12/2287875.aspx

 

 

Pku acm 2771 Guardian of Decency 数据结构题目解题报告(十五)---- 匈牙利算法求二分图的最大匹配

阅读本文前请先阅读我blog的另一篇文章:匈牙利算法求二分图的最大匹配(2008-4-12).
有了匈牙利算法的基础,该题就是一道非常简单的题目了:题目给出一些boy和girl,有一些规则他们在一些条件下可能恋爱,求最多有多少人,他们之间不会恋爱,根据这样的规则构建一个二分图:boy和girl分两边,分别作为左右结点,根据规则如果满足可能恋爱的条件就连接,否则不连接,求出最大匹配,N-max_number_of_couples即为要求的结果。
带有详细注释的代码可以在http://download.csdn.net/user/china8848/获得
Pku acm 2536 Gopher II 数据结构题目解题报告(十四)---- 匈牙利算法求二分图的最大匹配
阅读本文前请先阅读我blog的另一篇文章:匈牙利算法求二分图的最大匹配(2008-4-12).
有了匈牙利算法的基础,该题就是一道非常简单的题目了:该题给出m个动物的地点,n个洞,还有速度和时间(其实就是给了距离),问m个动物最多能有几个在规定的时间里一规定的速度躲到洞里逃生,。典型的二分图匹配的问题,动物的位置为左边的结点,洞为右边的结点,如果他们的距离小于等于时间×速度,我们就认为他们是连接的,否则认为不连接,我们只要计算最大二分图匹配数,就是可以逃生的动物数,用总数减去匹配数就是不能逃生的,即为所求。
带有详细注释的代码可以在http://download.csdn.net/user/china8848/获得。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/china8848/archive/2008/04/12/2287865.aspx

Pku acm 1274 The Perfect Stall 数据结构题目解题报告(十三)---- 匈牙利算法求二分图的最大匹配

阅读本文前请先阅读我blog的另一篇文章:匈牙利算法求二分图的最大匹配(2008-4-12).
有了匈牙利算法的基础,该题就是一道非常简单的题目了:根据题意构建一个二分图,我们只要计算最大二分图匹配数,即为要求的结果。
带有详细注释的代码可以在http://download.csdn.net/user/china8848/获得
Pku acm 2239 Selecting Courses 数据结构题目解题报告(十二)---- 匈牙利算法求二分图的最大匹配
有了匈牙利算法的基础,该题就是一道非常简单的题目了:该题给出P门课程,每门课程有不同的时间,问一个学生,最多一周能上几门课。典型的二分图匹配的问题,左边的结点为课程,右边结点为不同的时间(最大12*7个),我们只要计算最大二分图匹配数,即为要求的结果。
带有详细注释的代码可以在http://download.csdn.net/user/china8848/获得 
Pku acm 1469 COURSES 数据结构题目解题报告(十一)---- 匈牙利算法求二分图的最大匹配
有了匈牙利算法的基础,该题就是一道非常简单的题目了:该题给出P门课程,N个学生,问能否从中选出P个学生,使每个学生上不同的课,且每个课程有一个学生。典型的二分图匹配的问题,我们只要计算最大二分图匹配数,如果和课程数相同就输出YES,否则输出NO。

带有详细注释的代码可以在http://download.csdn.net/user/china8848/获得。 

 

 

 

 

抱歉!评论已关闭.