网络流 目前 在我看来只有最大流 最小割 费用流 这几种模型其依赖的其实都是反向流能反悔的原因,每次都是找到最短或者费用最小的流进行增广直至不能再增广下去。 基于这样的思想 也就解释了费用流可以代替KM算法在二分图的带权匹配之中的正确性。 最大流等于最小割 这无疑是正确的 但是注意 割边的集合并非所 ...
分类:
其他好文 时间:
2019-06-19 10:01:59
阅读次数:
80
KM算法的模板题,记录一下 KM算法 Accepted 2255 468MS 1756K 1600 B G++ #include "bits/stdc++.h" using namespace std; const int INF = 0x3f3f3f3f; const int MAXN = 305 ...
分类:
编程语言 时间:
2019-03-08 17:08:16
阅读次数:
172
layout: post title: 训练指南 UVA 11383(KM算法的应用 lx+ly =w(x,y)) author: "luowentaoaa" catalog: true mathjax: true tags: KM算法 训练指南 Golden Tiger Claw "UVA 113 ...
分类:
编程语言 时间:
2019-02-03 23:23:43
阅读次数:
245
layout: post title: 训练指南 UVALive 4043(二分图匹配 + KM算法) author: "luowentaoaa" catalog: true mathjax: true tags: 二分图匹配 图论 训练指南 Ants "UVALive 4043" 题意 给你n个白 ...
分类:
编程语言 时间:
2019-02-03 21:02:03
阅读次数:
153
题意:给定二分图,有边权,求最大边权匹配。边权非负。 解:KM算法求解最大权完备匹配。 完备匹配就是点数少的那一边每个点都有匹配。 为了让完备匹配与最大权匹配等价,我们添加若干条0边使之成为完全二分图(自造名词别在意......) 为了让左边成为点数较少的一边,我们还要添加一些虚点,m = max( ...
分类:
其他好文 时间:
2019-02-03 19:46:17
阅读次数:
156
前言 其实这个东西只是为了把网络流的内容凑齐而写的(反正我是没有看到过这样子的字体~~不知道田忌赛马算不算~~) 算法过程 我们令左边的点(其实二分图没有什么左右)为女生,右边的点为男生,那么: 1. 为每一个女生定一个心仪值,心仪值为她与男生连边中的最大值 2. 为每一个女生找对象,要求男生的心仪 ...
分类:
编程语言 时间:
2019-01-11 18:05:59
阅读次数:
224
带权匹配是指在最大匹配的基础上,使匹配边的边权和最大。一般有两种写法,一个是KM算法(只针对可以完备匹配的二分图),一个是费用流。 KM算法在稠密图上比费用流更优秀一些,不过应用范围太小,所以还是鼓励大家用费用流。当然啦,作为一种算法KM也是我们需要了解的(况且我不会网络流😄)。 KM算法有个流程 ...
分类:
其他好文 时间:
2019-01-04 19:40:15
阅读次数:
217
初期: 一、基本算法: (1)枚举(poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法 (4)递推 (5)构造法(poj3295)(这种东西真的只是靠智商) (6)模拟法(poj1068,poj2632,poj1573,poj2993, ...
分类:
其他好文 时间:
2018-12-11 01:42:11
阅读次数:
239
"原题传送门" 博客里对 "二分图匹配" 的详细介绍 这道题是带权二分图匹配 用的是KM算法 我们要知道一个定理:要使线段没有相交,要使距离总和最小 我们先把任意一对白点、黑点的距离算一下 然后运用KM算法 因为要最小权值,所以需要把权值取反来求最大。 cpp include define N 10 ...
分类:
其他好文 时间:
2018-12-08 14:04:25
阅读次数:
131
KM算法详解+模板 大佬讲的太好了!!!太好了!!! http://www.cnblogs.com/wenruo/p/5264235.html KM算法用来求二分图最大权完美匹配。 本文配合该博文服用更佳:趣写算法系列之--匈牙利算法 本文没有给出KM算法的原理,只是模拟了一遍算法的过程。另,博主水 ...
分类:
编程语言 时间:
2018-11-22 23:49:39
阅读次数:
275