![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二分图
w_uxidixi
nnzncf
展开
-
骑士放置 Page435 最大独立集
骑士放置 Page435 最大独立集棋盘问题首先黑白染色马的哈密顿移动距离是3,必然是从白走到黑或者从黑走到白这题折腾了俩小时,就因为递归那里懒得写int,直接用了个全局变量,根本检查不出来,人傻了代码:const int maxn=2e4+7;const int INF=0x3f3f3f3f;const ll INFF=1e18;bool mark[120][120],vis[maxn];int linker[maxn],n,m,t,x,y;int xx[8]={1,1,-1,-1原创 2020-10-02 21:50:51 · 2066 阅读 · 3 评论 -
Ants Page432 二分图最小权匹配
Ants Page432 二分图最小权匹配这个问题居然转换为了求一个二分图最大权匹配的问题,完全想不到当两个线段相交的时候,必然有四个顶点,根据三角形的性质可以将这两条线段重新连起来,这个连法可以达到相同的连接状态,并且两线段之和比原先小了。具体证明在蓝书上,就不说了实在是太神奇了注意最后要做一个小小的转换,他要输出的是左边匹配的情况,而linker[i]表示的是右边的匹配情况。别忘了把边权取负代码:const int maxn=2e3+7;const double INF=1e9;c原创 2020-09-30 20:41:03 · 267 阅读 · 0 评论 -
导弹防御塔 Page428 二分图多重匹配
导弹防御塔 Page428 二分图多重匹配二分时间对于每一个导弹,在限定的时间内可以打出多少弹药是固定的,根据距离可以判断出每一枚子弹是否能够打中敌人,然后连线我是把左边防御塔,右边敌人,也可以变成左边敌人,右边防御塔,由于是拆开来做的多重匹配,所以原理是一样的需要注意这边的T1是秒数,一开始看成了分钟怎么做都错题目范围给的不是很明确,所以开数组的时候开了很大,这时候就不能用memset了,会超时代码:const int maxn=2e6+7;const int INF=0x3f3f3f原创 2020-09-30 18:54:11 · 189 阅读 · 0 评论 -
棋盘覆盖 Page426 二分图最大匹配
棋盘覆盖 Page426 二分图最大匹配对于一个点(i,j),假设在这个点放置一个骨牌,那么显然最多只能放置一个,这是“1要素”将(i,j)和(i,j+1)、(i,j)和(i+1,j)连边,表示两个不同位置放置骨牌,但是其余位置均不与(i,j)相连,基于骨牌的身材为2*1,这是显然的,这是“0要素”直接用二分图最大匹配解最多放置的数量代码:const int maxn=1e2+7;const int INF=0x3f3f3f3f;const ll INFF=1e18;int mapp[m原创 2020-09-30 12:59:21 · 132 阅读 · 0 评论 -
ZOJ - 1654Place the Robots 建图+二分图最大匹配
ZOJ - 1654Place the Robots 建图+二分图最大匹配https://vjudge.net/problem/ZOJ-1654分析: 每一个空地使得这个位置相邻的空地不能被选择,将空地分为一个一个块,即求最大点独立集,即最大匹配想了好久没想到,一开始直接对点建图,死的不知道有多惨,愣是想了一个小时不知道怎么建图代码:#include<cstdio>#inc...原创 2020-02-05 23:16:38 · 192 阅读 · 0 评论 -
POJ - 3189 Steady Cow Assignment二分图多重匹配+二分
POJ - 3189 Steady Cow Assignment二分图多重匹配+二分题意: 一共有n头牛,并给出了对m个大棚的喜爱程度,问在满足容量的情况下,对大棚的喜爱程度之差最小为多少做法: 一开始我读错题,后来发现可以二分区间长度,当所有牛对大棚的喜爱程度都在[i,i+mid−1][i,i+mid-1][i,i+mid−1]这个区间内,最大匹配数可以达到n,就符合条件代码:#incl...原创 2020-02-05 04:28:55 · 152 阅读 · 0 评论 -
二分图最大/小权匹配(kbin)
二分图最大/小权匹配二分图的最小权匹配只要把边权全部取相反数,再对答案取相反数即可例题:HDU2255#include<cstdio>#include<cstring>#include<algorithm>#include<iostream>#include<string>#include<vector>#i...原创 2020-01-29 20:38:09 · 721 阅读 · 0 评论 -
二分图多重匹配
二分图多重匹配一般的二分图匹配与多重匹配之间的区别就是:二分图多重匹配:右边的物品可以和多个左边的相匹配,同时右边的物品可以有一个最大匹配容量V[i]int cnt[maxn],V[maxn];//cnt[i]记录现在第i个星球有多少个人,V[i]记录i星球的容量 int linker[maxn][15];//linker[i][j]表示第i个星球第j个匹配的人是谁 bool dfs(i...原创 2020-01-26 15:50:36 · 512 阅读 · 0 评论 -
P2526 [SHOI2001]小狗散步 二分图+平面坐标系建图
P2526 [SHOI2001]小狗散步题意:给出n个点,是人和小狗的共同路线,再给出m个点,是小狗喜欢的景点。小狗速度是人的两倍,可能会在中途去看景点,问最多看多少的景点。做法:由于数据范围很小,直接暴力将每一个位置可以到达的景点和该位置连接起来。连完之后一个最大匹配即可路径还原的时候需要注意要用inv而不是linker一开始还WA了一发,因为最开始的时候maxn只开了100。AC代码...原创 2020-01-15 02:36:51 · 207 阅读 · 0 评论 -
P3231 [HNOI2013]消毒 +状压+暴力+二分图
P3231 [HNOI2013]消毒这题实在是太好了,其实在一篇博客里面有写过但是还是想单独拿出来再写一遍真的是百看不厌这个二分图的建图我真的心服口服题意:给出一个立方体,有一些点需要消毒,现在可以用花费min{x,y,z}的一个x×y×zx×y×zx×y×z立方体去消毒,问最少需要多少钱做法:题意很显然就是一道最小顶点覆盖的问题,即最大匹配,但是这是三维的,如果是二维的顶点匹配就可以...原创 2020-01-15 01:49:08 · 175 阅读 · 0 评论 -
二分图最大匹配
1️⃣增广路径1.概念:若路径P是图G中一条连通两个顶点,这两个顶点与M中无匹配关系的路径,且属于M的边和不属于M的边在P上交替出现,则称P为相对于M的一条增广路径。2.性质图中的增广路径P为12345根据概念可知,处于P两端的边一定不属于M,且P长度肯定是奇数的属于M的边有2和4,匹配数量为2,其补图有边1,3,5,匹配数量为3增广路径取反后必然能得到一个更大的匹配M为最...原创 2020-01-13 16:11:52 · 386 阅读 · 0 评论