最近浅学了一下匈牙利算法,略有感触,发文记录一下 匈牙利算法是用在二分图匹配中的 所以要先知道二分图的几个概念 二分图 : 把一个图的顶点划分为两个不相交的集合 U 和 V ,且使得每一条边都分别连接 U 、V 中的顶点,如果存在这样的划分,则称此图为二分图。 简单说 ...
分类:
编程语言 时间:
2018-12-23 15:19:06
阅读次数:
171
天才 冯·诺依曼 冯·诺依曼1903年12月28日出生于奥匈帝国布达佩斯,1957年2月8日卒于美国,终年53岁。在他短暂的一生中,他取得了巨大的成就,远不止于世人熟知的“冯·诺依曼架构”。 约翰·冯·诺伊曼,出生于匈牙利的美国籍犹太人数学家,现代电子计算机与博弈论的重要创始人,在泛函分析、遍历理论 ...
分类:
其他好文 时间:
2018-12-08 11:31:05
阅读次数:
164
过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 30799 Accepted Submission(s): 13289 Problem D ...
分类:
编程语言 时间:
2018-11-28 22:30:45
阅读次数:
295
传送门 C++ CE G++ AC什么鬼... 这题虽说是网络流 但是可以用之前的KM最优匹配做 会的话还是比较好写的 这里也发现了最大流/费用流更适合离散图 匈牙利/KM更适合稀疏图 Code: ...
分类:
其他好文 时间:
2018-11-27 21:10:36
阅读次数:
219
"嘟嘟嘟" 虽然我已经会网络流了,但是还是学了一个匈牙利算法。 ——就跟我会线段树,但还是学了树状数组一样。 其实匈牙利算法挺暴力的。简单来说就是先贪心匹配,然后如果左部点$i$匹配不上了,就尝试更改前面已经匹配好的点,腾出地给他匹配。 因此对于每一个点跑一遍匈牙利算法,如果这个点匹配成功,总匹配数 ...
分类:
编程语言 时间:
2018-11-25 16:31:38
阅读次数:
236
题意:图没什么用 给出一个地图 地图上有 点 一次可以覆盖2个连续 的点( 左右 或者 上下表示连续)问最少几条边可以使得每个点都被覆盖 最小路径覆盖 最小路径覆盖=|G|-最大匹配数 证明:https://blog.csdn.net/qq_34564984/article/details/5277 ...
分类:
其他好文 时间:
2018-11-25 01:27:29
阅读次数:
233
题意: 给出一个N*N的地图N 地图里面有K个障碍 你每次可以选择一条直线 消除这条直线上的所有障碍 (直线只能和列和行平行) 问最少要消除几次 题解: 如果(x,y)上有一个障碍 则把X加入点集 V1 、Y加入点集V2 并且X Y连一条边 这样构成一个新图 如果选择 V1中的点 X 那么就相当于消 ...
分类:
编程语言 时间:
2018-11-24 16:33:25
阅读次数:
167
KM算法详解+模板 大佬讲的太好了!!!太好了!!! http://www.cnblogs.com/wenruo/p/5264235.html KM算法用来求二分图最大权完美匹配。 本文配合该博文服用更佳:趣写算法系列之--匈牙利算法 本文没有给出KM算法的原理,只是模拟了一遍算法的过程。另,博主水 ...
分类:
编程语言 时间:
2018-11-22 23:49:39
阅读次数:
275
PS:其实不用理解透增广路,交替路,网上有对代码的形象解释,看懂也能做题,下面我尽量把原理说清楚 1. 基本概念 ( "部分来源" 、 "部分来源" ) 二分图: 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这 ...
分类:
编程语言 时间:
2018-11-22 11:43:00
阅读次数:
3747
博客: 匈牙利算法模板: #include<bits/stdc++.h> #define MAXN 9999 using namespace std; int nx,ny;//nx表示二分图左边顶点的个数,ny表示二分图右边顶点的个数 int m;//m代表边的条数 int cx[MAXN],cy[ ...
分类:
其他好文 时间:
2018-11-21 19:42:17
阅读次数:
162