图论~二分图匹配
文章平均质量分 71
哇-WA
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
匈牙利算法
匈牙利算法 算法讲解请移步大神博客:趣写算法系列之--匈牙利算法,很骚 题目链接:月老的难题 邻接表+匈牙利算法 代码: #include #include #include #include using namespace std; int n,m,girl[510]; bool used[510]; vector love[510]; bool find(int bo原创 2017-07-25 19:31:21 · 378 阅读 · 0 评论 -
HDU - 1045 Fire Net【离散化+二分图匹配】
Fire NetTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 14174 Accepted Submission(s): 8577Problem DescriptionSuppose that we have a square ci...原创 2018-05-17 11:27:59 · 208 阅读 · 0 评论 -
POJ - 3041 Asteroids 【最小点覆盖】
AsteroidsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 25309 Accepted: 13659DescriptionBessie wants to navigate her spaceship through a dangerous asteroid field in the shape of an N x N gr...原创 2018-05-17 15:58:24 · 199 阅读 · 0 评论 -
HDU - 2063 过山车【匈牙利算法模板】
题目链接:HDU - 2063 匈牙利算法模板。大概过程就是对一个点进行匹配时,尝试匹配所有与它相连的点。如果这个点没有被匹配,或者这个点被匹配了,但是匹配它的点可以重新找到一个匹配点,从而腾出这个点,那么就可以与这个点匹配。used数组标记遍历到的v。如果不标记,增广过程中一个点会重复匹配v。最大匹配就是对一边所有的点尝试匹配,看有多少成功匹配的。代码:#include<stdio.h&g...原创 2018-05-15 20:42:06 · 247 阅读 · 0 评论 -
HDU - 1281 棋盘游戏 【二分图匹配】
题目链接:HDU - 1281 将点的行缩为一个点,列缩为一个点,那么一个点就可以抽象为一条边。本题可以用行匹配列,一行或一列不能有多个匹配。那么为题就转化成了二分图匹配问题。先计算出图的最大匹配,然后每次删一个点,判断最大匹配是否减少,如果减少那么这个点就是一个重要点。代码:#include<stdio.h> #include<string.h> #include<...原创 2018-05-15 21:20:39 · 223 阅读 · 0 评论 -
km算法入门
km算法入门 本文知识均由笔者自学,文章有错误之处请不吝指出。 笔者刷数模题的时候有一道题考到了“二分图最大权分配”,需要用到KM算法,但是书上对KM算法的介绍又臭又长,更何况有些同学“匈牙利算法”也没学过(由匈牙利数学家Edmonds提出),自然难以理解所谓的KM算法。本文旨在用通俗易懂的语言,向读者介绍匈牙利算法和KM算法。 一、匈牙利算法 匈牙利算法用于解决什么问题? ...转载 2018-08-15 22:54:29 · 2968 阅读 · 3 评论 -
带权二分图最优匹配-KM算法【模板】
KM算法过程简述: 一开始只加入每个点所连权值最大的边,跑一次匈牙利算法。 逐步加入权值较小的边跑匈牙利,判断答案是否更优。加边的过程将边权分摊成了点权。 例题:HDU - 2255 模板: #include<stdio.h> #include<string.h> using namespace std; #define M 310 #define inf 0...原创 2018-08-23 16:46:46 · 546 阅读 · 0 评论
分享