二分图
GocNeverGiveUp
这个作者很懒,什么都没留下…
展开
-
二分图之匈牙利算法(HDU2063 + POJ3041 + POJ1422)
HDU - 2063这道题是二分图最大匹配题,是匈牙利算法的模板,很简单大佬的博客很生动了:匈牙利算法匈牙利算法,就是从二分图中找出一条路径来,让路径的起点和终点都是还没有匹配过的点,并且路径经过的连线是一条没被匹配、一条已经匹配过,再下一条又没匹配这样交替地出现。找到这样的路径后,显然路径里没被匹配的连线比已经匹配了的连线多一条,于是修改匹配图,把路径里所有匹配过的连线去掉匹配关系,把没有匹配的...原创 2018-03-14 19:35:05 · 389 阅读 · 0 评论 -
POJ 2594 Treasure Exploration(最小路径覆盖 传递闭包)
最小路径覆盖 == 顶点数 - 配对数,此时每个顶点只能经过一次,若是经过一个点多次,例如下面博客所介绍的,当路径相交的时候,应该进行一次传递闭包处理,也就是跑一遍Floyd再进行最大匹配讲解博客:http://www.cnblogs.com/ka200812/archive/2011/07/31/2122641.html题目链接:https://vjudge.net/problem/PO...原创 2019-04-14 20:56:54 · 180 阅读 · 0 评论 -
HDU 2819 Swap(二分图HK)
挺好的二分图,就是做麻烦了,哎核心就是只需要交换列即可实现目标把行号放到X部,和列对应建立关系即可做HK中mx是y中对应部分的序号my是x中对应部分的序号,比匈牙利快就算了,记录信息还比匈牙利全https://vjudge.net/problem/HDU-2819#include<iostream>#include<cstring>#inclu...原创 2019-04-09 23:20:59 · 125 阅读 · 0 评论 -
HDU 3829 Cat VS Dog(最大独立集 = 顶点数 - 最大匹配数 = 最小路径覆盖)
https://vjudge.net/problem/HDU-3829最大独立集定义:选出一些顶点使得这些顶点两两不相邻,则这些点构成的集合称为独立集。找出一个包含顶点数最多的独立集称为最大独立集,求一个图的最大独立集基本是NP问题,但是二分图借助性质可以轻易求解也就是说删去最少的顶点,使得图中剩下的所有顶点互不相邻,剩下的图中顶点数就是最大独立集最大独立集 = n(顶点数) - 最小...原创 2019-04-12 19:31:40 · 233 阅读 · 0 评论 -
HDU 2444 The Accomodation of Students(判断二分图 + HK)
https://vjudge.net/problem/HDU-2444开启kuangbin连通图专题刷题~能用HK绝不用匈牙利,最后的倔强#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<vector>#in...原创 2019-04-08 22:08:14 · 98 阅读 · 0 评论 -
HDU 1045 Fire Net (二分图HK)
https://vjudge.net/problem/HDU-1045把图中连续的行和列都缩成点,因为每个行和列交点处必定不与别的组合冲突。这样先把符合条件的边加上,最后跑HK就行以后不管多么简单的题都要用HK,因为实在是比匈牙利快太多了#include<iostream>#include<cstring>#include<cstdio>...原创 2019-04-08 21:01:58 · 118 阅读 · 0 评论 -
HDU 2255 奔小康赚大钱 (二分图最大权匹配 KM)
讲解博客:https://www.cnblogs.com/logosG/p/logos.htmlhttp://www.cnblogs.com/wenruo/p/5264235.html题目链接:https://cn.vjudge.net/contest/68127#problem/P二分图最大权,从X部的点到Y部会有一个匹配权值,我们要求所有权值的最大和,过程上面讲的很清楚了给一个...原创 2019-04-08 19:58:35 · 133 阅读 · 0 评论 -
POJ 2389 Rain on your Parade(二分图HK算法)
https://vjudge.net/problem/HDU-2389HK模板题,,适应模板,最大流应该也可以解#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<vector>#include<set>...原创 2019-04-08 19:10:42 · 170 阅读 · 0 评论 -
HDU 1151 Air Raid (最小路径覆盖数 = 顶点数 - 最大匹配数)
https://cn.vjudge.net/contest/68127#problem/J最小顶点覆盖的孪生问题,如何选择最少的路径使得选中的路径经过图中所有顶点一般都是单向无环图,这样比较容易建立二分图,,,所以直接建立二分图即可,这样就可以进行求解,证明不论最小顶点覆盖 = 最大匹配数最小路径覆盖 = n(定点数) - 最大匹配数#include<iostrea...原创 2019-04-11 21:42:19 · 188 阅读 · 0 评论 -
HDU 1054 Strategic Game (最小顶点覆盖 = 最大匹配数)
https://cn.vjudge.net/contest/68127#problem/I用二分图解决最小顶点覆盖的问题图G的顶点覆盖是一个顶点集合V,使得G中的每一条边都接触V中的至少一个顶点。我们称集合V覆盖了G的边。最小顶点覆盖是用最少的顶点来覆盖所有的边。顶点覆盖数是最小顶点覆盖的大小所以这是一道模板类型的题,通俗讲就是用最少的点保证所有边都与这些点相连所谓用二分图解决,就...原创 2019-04-11 21:11:44 · 200 阅读 · 0 评论 -
POJ 3020 Anntenna Placement (经典二分图)
https://cn.vjudge.net/contest/68127#problem/H二分图先把每个城市按照出现次序标号,从1-ct,之后把二分图建成上限为ct,因为二分图的XY部都包含且仅包含ct个点,这里必须建立双向边,因为如果去点建边很有可能受限制导致两个原本匹配的城市不在一个图中,这样最后结果/2就是配对成功数,因为每条边都建了两次最后最小覆盖 = ct - 配对结果 / ...原创 2019-04-11 20:12:09 · 95 阅读 · 0 评论 -
ZOJ 3933 Team Formation(KM最大权)
https://vjudge.net/contest/293912#problem/G最大权匹配简单题,刚学最大权不太熟悉导致不太会用,。这道题把男生点权设为0,女生设为1,初始边权设为1就能做了KM只对有权值的边进行匹配,所以如果边权为0无法控制最后计算的时候再减去配对成功数目即可#include<iostream>#include<cstring&...原创 2019-04-11 11:19:32 · 136 阅读 · 0 评论 -
HDU 3605 Escape(最大流+状压缩点 / 二分图多重匹配)
https://vjudge.net/problem/HDU-3605这道题直接最大流就爆了,蠢的我没算复杂度,后来回过神时间复杂度是O(V^2*E)...\百度正确做法:状压缩点,因为最多只有十个星球,对于每个人他都有至多1024(2^10)种可能的选择,因此可以把这1e5个点缩成1024个点,点权重复的用从源点到该点的流量进行管理,有几个点就设置流量为几,啊好神奇,顺便学一下二分图多重...原创 2019-04-06 21:30:10 · 149 阅读 · 0 评论 -
HDU 2063 过山车(Hopcroft-Karp(O(V^(1/2)*E)) Vector+链式前向星)
这个算法比匈牙利算法快很多,然而网上没有具体的实现讲解。题目链接:https://vjudge.net/problem/HDU-2063先定义x方点,y方点为二分图中不同的两方点。实现过程:1.将所有x方点中未盖点全部加入队列。2.进行广搜,找出短小的可增广路。具体过程如下: 1>每次进行访问时,找到y方点中没有标号的点,将它的标号设为x方点的标号+1...原创 2019-04-05 21:43:27 · 144 阅读 · 0 评论 -
HDU 2063 过山车(二分图匹配邻接矩阵+邻接表 匈牙利算法 O(VE))
二分图最大匹配匈牙利算法,算是最简单的二分图入门算法了通过递归实现匹配信息的不断更新讲解博客:https://blog.csdn.net/acmman/article/details/38421239题目链接:https://vjudge.net/problem/HDU-2063邻接矩阵+邻接表#include<iostream>#include<cstr...原创 2019-04-05 20:44:49 · 333 阅读 · 0 评论 -
HDU 3092 (二分图)
HDU - 3092 当时比赛的时候没读这道题,即使读了也不会能读出是二分图,因为对算法理解还太浅二分图 通用 思路:题目给定 点 映射到 数轴的区间 上, 问最多多少点可以成功映射到数轴上很显然 点就是 x集 , 整个数轴 就是 y集 , 点对应的整个区间就是映射的边 ,所以直接有了一个二分图其实就是把每一个点和 其对应的区间内所有点都连一条...原创 2018-04-23 19:32:55 · 144 阅读 · 0 评论 -
SDNUOJ 1247.A.网瘾少年周老灰(二分图最大匹配数)
比赛心态不太好,运气也不好,好多题真的浪费了就,感觉很难受,尤其第一题,比赛的时候只有第一题没有看,比完赛之后听说是二分图,当时难受的不行,以后一定要自己看完,很基础的二分图最大匹配数,直接套匈牙利算法模板就行啊啊啊啊啊啊啊真的对不起队友,现在感觉很心酸,不要心寒,加油啊两位老哥!Description If you have played Hearthsto...原创 2018-03-24 19:58:51 · 216 阅读 · 0 评论 -
HDU 3488 Tour (KM最小权)
https://cn.vjudge.net/contest/68127#problem/QKM求解最小权的方法:把所有权变都设为负值,这样最后求解的时候就可以求解最小权了这道题把每个边的两个点分到二分图两个部中,因为路径都是环,所以直接匹配就可以#include<iostream>#include<cstring>#include<cstdio>...原创 2019-04-17 20:19:01 · 162 阅读 · 0 评论