图论-二分图
AcerMo
一只辣鸡大学生
展开
-
[Vjudge]过山车
题目描述如图一道基本上是二分图匹配的裸题回忆二分图匹配的特点:两个内部相互独立的集合之间存在一些边,从连边的元素中取两两配对,看最多能取多少对放到这道题里,男生女生为内部独立的集合,且两个集合之间存在一些边,则我们用二分图匹配,找出最多的男女组合即可这里利用了匈牙利算法注意每次循环要清空各个数组代码//By AcerMo#include<cmath>#include<cstdio>#include<cstring>#include<iostr.原创 2021-11-10 23:48:00 · 403 阅读 · 0 评论 -
BZOJ1539&&洛谷P3462 [POI2007]ODW-Weights
神奇的思路题其它博客讲的太emmm了!!我尽量讲清QWQ思路我们把在同一行的两个数所在列建一条长度为1的边,不在同一列的建一条长度为0的边,然后对这张新建出来的图染色,我们要保证权值为0的两边的点颜色必然相同,为1则不同,为什么这么做?对于一条边权为1的边,它两端的元素是相同且在一行的,我们必须要交换这两列其中的一列,也就是1 12 3第一列和第二列一定有一列要交换,但是我们不能确定...原创 2018-10-25 15:42:25 · 384 阅读 · 2 评论 -
BZOJ4808 马
这道题的题意简化一下就是在好格子中找到最大的一个格子集合,使得集合内的格子之间没有边,那就是最大独立集呗,二分染色然后最大匹配,然后非常emmm的就是要用时间戳更新vis数组,不能 每次都清空,不然会T到飞起代码//By AcerMo#include<cmath>#include<cstdio>#include<cstring>#include...原创 2018-08-28 15:06:33 · 1470 阅读 · 0 评论 -
BZOJ1059&&洛谷P1129 [ZJOI2007]矩阵游戏
二分匹配不难发现,只要发现将黑格子排列一下就能到对角线,那么不论现在图怎样,都一定可以换过去把黑点看做行列的边,最大匹配即可//By AcerMo#include<cmath>#include<cstdio>#include<vector>#include<cstring>#include<iostream>#i...原创 2018-07-26 10:17:17 · 175 阅读 · 0 评论 -
BZOJ2744&&洛谷P2423P2423 [HEOI2012]朋友圈
自从有了课件,我就不想打字了代码(交在BZOJ的时候记得把组数删掉)//By AcerMo%%%尹兄 #include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const i...原创 2018-07-10 20:53:11 · 267 阅读 · 0 评论 -
CF85E Guard Towers
二分+染色代码//By AcerMo%%%尹兄 #include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int M=5005;const int mod=1e...原创 2018-07-10 19:56:24 · 346 阅读 · 0 评论 -
BZOJ1191&&洛谷P2319[HNOI2006]超级英雄
题目是中文不再赘述题面显然是一个二分图匹配,好多小伙伴的疑惑应该是为什么样例过了但是WA了,或者如何输出首先说如何输出,显然我们在跑二分图匹配时,就相当于在决策哪道题用哪个锦囊,那么我们直接用一个数组存一下当前进行匹配的点匹配到了哪个点就好之后说一下,为什么会WA,一个非常考验脑洞的问题,实际生活中,这种问答类节目,问题的顺序是固定的,所以一旦有一道题没有回答,那么游戏结束,这道题 也同理...原创 2018-06-16 17:37:08 · 194 阅读 · 0 评论 -
BZOJ1433&&洛谷P2055[ZJOI2009]假期的宿舍
中文体面不再翻译,通过画图我们可以知道只是一道二分图匹配,那么如何进行匹配呢,我们要存一下,在校学生和外校学生的编号,然后走掉的人当床位,认识的人连边,用住校生和外校生与床位跑二分图匹配,做到这里,你大概能get到70%的分数,因为你没有考虑全面问题,还有一个必须考虑的条件是最大匹配数要等于需要匹配的人数,不然就有人无法睡觉233代码(update 18-09-13)//By ACerM...原创 2018-06-16 17:31:11 · 197 阅读 · 0 评论 -
BZOJ 4554 &&HEOI2016 游戏
/*在2016年,佳缘姐姐喜欢上了一款游戏,叫做泡泡堂。简单的说,这个游戏就是在一张地图上放上若干个炸弹,看是否能炸到对手,或者躲开对手的炸弹。在玩游戏的过程中,小H想到了这样一个问题:当给定一张地图,在这张地图上最多能放上多少个炸弹能使得任意两个炸弹之间不会互相炸到。炸弹能炸到的范围是该炸弹所在的一行和一列,炸弹的威力可以穿透软石头,但是不能穿透硬石头。给定一张n*m的网格地图:其中*代表空...原创 2018-04-01 09:14:11 · 262 阅读 · 0 评论 -
洛谷 P3386 二分图最大匹配模板
二分图最大匹配,无图见谅一张有向图,可以分为两个内部没有联通的点集,两个点集间存在一些边,二分图最大匹配求的就是从左点集中的左部点向右点集中的右部点连边,没个左部点只能连一个右部点,每个右部点也只能和一个左部点匹配,这里讲基础的匈牙利算法。匈牙利算法基于DFS与贪心算法,每次dfs寻找增广路,增广路存在的条件为非匹配边比匹配边多一条;交替路 从一个非匹配点出发,依次经过非匹配边,匹配边....,...原创 2018-03-30 22:02:38 · 385 阅读 · 0 评论