二分匹配
AledaLee
个人博客已经迁移到了https://sites.google.com/site/lishuo02wiki/,主要是一些技术的分享,有需要的可以访问。
展开
-
HDU-1150(求最小覆盖顶点数=二分最大匹配数)
关于这道题目,我也是迷迷糊糊的,上网找资料也是看不懂,,,, 到底 为什么最小覆盖顶点数=二分最大匹配数,自己也确实弄得不是很清楚,反正这个好像是前人已经证明了的,所以自己还是可以拿来用的,至于彻底弄懂的话还是等以后有机会的时候去问问别人吧,,,,就是一个简单的匈牙利算法 另外就是多了个判断条件就是判断这个点的状态是不是MOD_0 如果是的话 ,到最后还 是得减去1的,,,,贴出代码原创 2012-07-28 21:58:25 · 869 阅读 · 0 评论 -
HDU-1151(求最小覆盖路径数_二分匹配)
这道题目,还是应该看成是定理题目,自己也不能够证明够出为什么给要这么做.....有空一定要去问问别人,当然我也会自己找课件看看的...很好敲,,留下代码:#include #include #include #include int N,M;int map[125][125];int visit[125];int link[125];int getnum(int原创 2012-07-28 22:24:43 · 798 阅读 · 0 评论 -
HDU-1281(二分匹配_必要边)
这道题目,应该转化成二分匹配的题目去求解,,,,尽管比较难理解,积累成经验以后用吧,然后就是求必要点的知识点, 必要点的定义就是去了一条边后,最大匹配发生变化,那么这条边就是必要边,求解的思路就是先求出最大匹配,然后再一条条的删除边,如果最大匹配发生变化则说明,这个就是必要边.贴出代码:这个代码写戳了..因为一下午都在搞多校,,身心俱疲....诶,,,,睡眠严重不足啊..#in原创 2012-07-29 17:11:18 · 944 阅读 · 1 评论 -
HDU-1498(二分匹配_求最大覆盖定点数)
这道题目,还是需要仔细读读的,,,如果你不仔细读的时候说不定就用错方法了,,,在此,想善意的提醒下各位ACMer,一定要看清题目,,而这道题目,选择二分分配的原因也就是因为,一次他只能选择一行或者一列,而扫描一行或者一列,需要的次数,就正好是最大匹配数目,,,,我一定悉心研究清楚,,回头专门弄个这个讲解为什么的博文发出来.而这道题目,个人觉得,新颖度还是比较高的,,,涉及到很多方面的知原创 2012-07-29 22:23:56 · 757 阅读 · 0 评论