代码改变世界

随笔分类 -  二分图最小点集覆盖

HDU 4160 二分图最小点覆盖

2012-02-20 14:49 by javaspring, 305 阅读, 收藏,
摘要: 比赛的时候做道题一直用Dp做,一直wr,,,一直wr了十几次最后还是没有过。。。。。。。。。。。。。最后才知道原来是二分图最小点集覆盖,完全想错了。。。。。。。。。。。崩溃! 建图很容易,就是如果一个玩具能放到另一个玩具里面,则这两个玩具之间建边。之后求二分图最小点集覆盖就可以了。 题目让求最后最少剩下多少个玩具,即为最少用多少个玩具把这些玩具全部覆盖。题目:DollsTime Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 106Ac... 阅读全文

证明二分图最大匹配=二分图最小点集覆盖

2012-02-20 14:28 by javaspring, 574 阅读, 收藏,
摘要: 很早就看了一些关于二分图的算法,只知道二分图最大匹配=二分图最小点集覆盖,却一直不知道为什么。今天在网上找了些资料,参考了Matrix67的文章,再加上我自己的理解加想象。。。。。 首先解释一下什么事二分图最小点集覆盖,就是说选中一个点,就把以这个点为端点的所有边都选中了,求最少用几个点把所有的边都覆盖。证明用到了konig定理。过程是这样的,首先从右面点得集合中选出未匹配的点,然后选择“未匹配->匹配->未匹配....”这样的路径寻找。如下图中,细的蓝色的线即为这样的路径。并且把这样的路径经过的点标记。这样后,右面点中被标记的和左面点中未被标记的即为我们所要选择的点,就可以把所有 阅读全文