图论中的难见就是建图然后套用算法。 特点: 仅仅能一一相应,即XX仅仅能有一个人。 先来一个比較好的入门资料二分图最大匹配 參考 二分图建图方法 算法的思路是不停的找增广路径, 并添加匹配的个数,增广路径顾名思义是指一条能够使匹配数变多的路径,在匹配问题中,增广路径的表现形式是一条”交错路径”,也就 ...
分类:
其他好文 时间:
2017-07-13 22:52:46
阅读次数:
290
KM算法求的是完备匹配下的最大权匹配,是Hungary算法的进一步,由于Hungary算法是最大匹配的算法,不带权。 经典算法,想不出来的了,要參考别人的。然后消化吸收吧。由于真的非常复杂的算法。 我理解算法匹配思想: 1 開始的时候,全部边都记录自己的最优匹配,无论有没有冲突 2 递归循环的时候。 ...
分类:
编程语言 时间:
2017-05-30 15:37:49
阅读次数:
184
Going Home Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 2963 Accepted Submission(s): 1492 Pr ...
分类:
编程语言 时间:
2017-05-12 22:18:35
阅读次数:
224
字符串: KMP算法: EX_KMP: 图论: 匈牙利算法: ...
分类:
其他好文 时间:
2017-03-17 10:58:41
阅读次数:
198
二分匹配总结 首先讲一下什么是二分图,在一个图中,以边为条件,能将两个端点划分为两个几个的图叫做二分图,如下图: 左图为二分图,右图为简化后的二分图。 接着就是二分图的匹配问题,二分图的匹配就是找一个边的集合,每条边的的顶点的度数为1。 如上图所示,匹配到四条边。 二分图的完美匹配,就是所有的顶点都 ...
分类:
其他好文 时间:
2016-12-19 16:38:31
阅读次数:
283
中文国家名 英文国家名 大洲 二位简码 法属南部领地 French Southern Territories Europe TF 夏威夷 Hawaii North America HW 阿拉斯加 Alaska North America AK 新西兰属土岛屿 New Zealand Islands ...
分类:
其他好文 时间:
2016-10-24 20:19:38
阅读次数:
4945
更正:模数1000000007 /* 最大匹配求p=1的情况能得30分 正解:树形DP,f[i][0/1]表示i节点向下连的那条边选或不选时的最大值 */ #include<iostream> #include<cstdio> #include<cstring> #include<vector> # ...
分类:
其他好文 时间:
2016-10-06 22:50:34
阅读次数:
243
Code[VS] 1022 覆盖 题解 Hungary Algorithm 题目传送门:Code[VS] 1022 Code[VS] 1022 覆盖 题解 Code[VS] 1022 覆盖 题解 Hungary Algorithm 题目传送门:Code[VS] 1022 题目描述 Descripti ...
分类:
其他好文 时间:
2016-09-16 16:50:28
阅读次数:
167
ACM模版匈牙利算法邻接矩阵+DFS/*
* 初始化:g[][]两边顶点的划分情况
* 建立g[i][j]表示i->j的有向边就可以了,是左边向右边的匹配
* g没有边相连则初始化为0
* uN是匹配左边的顶点数,vN是匹配右边的顶点数
* 调用:res=hungary();输出最大匹配数
* 优点:适用于稠密图,DFS找增广路,实现简洁易于理解
* 时间复杂度:...
分类:
其他好文 时间:
2016-07-19 10:23:02
阅读次数:
203
给出一个有向无环图,问最少多少条边就可以覆盖所有的点,很明显的最少路径覆盖问题,但是点可以重复用,这与hungary算法不太一样,我们可以这样处理,假设a要经过b点到c,但是b点已经被访问过,为了保证a顺利到c,就让a直接飞过b到c,也就是说添加一条a到c的边,这其实就是求传递闭包,我们可以通过floyd算法求出。然后ans=n-hungary()。
一开始用了邻接表的最大二分匹配,在求闭包...
分类:
其他好文 时间:
2016-05-12 16:13:36
阅读次数:
232