题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3722 ...
分类:
编程语言 时间:
2018-05-18 00:30:46
阅读次数:
168
【文章详解出处】https://www.cnblogs.com/wenruo/p/5264235.html KM算法是用来求二分图最大权完美匹配的。【也就算之前的匈牙利算法求二分最大匹配的变种??】 这里就贴一下模板代码..2333... ...
分类:
编程语言 时间:
2018-05-11 12:57:37
阅读次数:
194
先orz "litble——KM算法 " 为什么要用KM算法 ~~因为有的题丧心病狂卡费用流~~ KM算法相比于费用流来说,具有更高的效率。 算法流程 我们给每一个点设一个期望值【可行顶标】 对于左边的点来说,就是期望能匹配到多大权值的右边的点 对于右边的点来说,就是期望能在左边的点的期望之上还能产 ...
分类:
编程语言 时间:
2018-05-05 16:46:42
阅读次数:
166
这个是在工作中遇到的一个实际的算法问题,问题描述如下,当前有m个司机,n个乘客,每个司机和每个乘客的距离由经纬度可以计算得到,如何匹配可以使其去接乘客的距离和最小?(只能一个司机接一个乘客)带权二分图方法一般对KM算法的描述,基本上可以概括成以下几个步骤:(1)初始化可行标杆(2)用匈牙利算法寻找完备匹配(3)若未找到完备匹配则修改可行标杆(4)重复(2)(3)直到找到相等子图的完备匹配关于该算法
分类:
其他好文 时间:
2018-05-03 10:28:31
阅读次数:
173
题目大意:求二分图的最优匹配(首先数目最大, 其次权值最大)。 解题关键:KM算法 复杂度:$O(n^3)$ ...
分类:
编程语言 时间:
2018-05-01 12:22:26
阅读次数:
190
题目 输入格式 输出格式 输入样例 5 1 1 2 2 1 输出样例 1 2 4 0 3 提示 30%的数据中N≤50; 60%的数据中N≤500; 100%的数据中N≤10000。 题解 每个位置可以和两种数匹配,显然是一个二分图匹配问题 但要求字典序最小,我们就按字典序存边 由于在KM算法中,后 ...
分类:
编程语言 时间:
2018-04-26 21:10:57
阅读次数:
189
题目:http://poj.org/problem?id=3565 首先,我们神奇地发现,没有相交边的匹配可以转化为距离和最小的匹配,所以可以使用KM算法求带全匹配; 要求的是距离和最小,所以把边权转化成负值来求最大; KM算法有点难理解,看了许多博客,总算朦胧懂了: 首先,每个点有一个“顶标”,用 ...
分类:
编程语言 时间:
2018-04-18 01:00:48
阅读次数:
186
题目链接: https://vjudge.net/problem/POJ-2195 题目大意: 给定一个N*M的地图,地图上有若干个man和house,且man与house的数量一致。man每移动一格需花费$1(即单位费用=单位距离),一间house只能入住一个man。现在要求所有的man都入住ho ...
分类:
编程语言 时间:
2018-04-15 23:51:39
阅读次数:
340
1937: [Shoi2004]Mst 最小生成树 Description Input 第 一行为N、M,其中 表示顶点的数目, 表示边的数目。顶点的编号为1、2、3、……、N-1、N。接下来的M行,每行三个整数Ui,Vi,Wi,表示顶点Ui与Vi之间有一条边,其权值为 Wi。所有的边在输入中会且仅 ...
分类:
编程语言 时间:
2018-03-28 15:43:11
阅读次数:
203
参见 "这里" cpp include include include using namespace std; int n, a[305][305], mat[305], exu[305], exv[305], qiw[305]; const int oo=0x3f3f3f3f; bool viu ...
分类:
编程语言 时间:
2018-03-17 21:40:09
阅读次数:
257