摘要: 高中就敲过匈牙利了。以前都理解的比较透彻,后来全忘了,现在重学,感觉不错。我觉得匈牙利是acm中最容易的算法………………之一。虽然其效率不高,而且有更优的算法。但是还是值得一提的哦。简而言之,匈牙利算法的主旨就是不断得寻找增广路。每次,选取一个没有匹配的点,遍历其可以连接的所有边,每次都沿着已经匹配... 阅读全文
posted @ 2014-07-01 22:40 092000 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 这个题目说,有一个N*N的规格的方格。某些格子里有*号,每次可以消除一行或者一列中所有的*号。最少需要消多少次?新学到的,什么什么定理,最少点覆盖等于最大匹配数。这个定理可以这样来理解(看别人的),对于最大匹配状态下的一条匹配边,不可能两边同时存在可连的未匹配点,因为这样就可以增广了,所以对于一条匹... 阅读全文
posted @ 2014-07-01 22:31 092000 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 题目是这样的,给定一些人喜欢某只猫或者狗,讨厌某只猫或者狗。求最多能够同时满足多少人的愿望?题目很有意思。建模后就很简单了。对于同一只猫或者狗,如果有一个讨厌,另一个人喜欢,那么这两个连一条边。最终,最大独立集数等于最大匹配数就可以了。。Orz。召唤代码君:#include #include #in... 阅读全文
posted @ 2014-07-01 22:25 092000 阅读(333) 评论(0) 推荐(0) 编辑