P3386 【模板】二分图匹配 P3386 【模板】二分图匹配 P3386 【模板】二分图匹配 题目背景 二分图 题目描述 给定一个二分图,结点个数分别为n,m,边数为e,求二分图最大匹配数 输入输出格式 输入格式: 第一行,n,m,e 第二至e+1行,每行两个正整数u,v,表示u,v有一条连边 输 ...
分类:
其他好文 时间:
2018-03-11 14:14:22
阅读次数:
160
二分图的概念 二分图又称作二部图,是图论中的一种特殊模型。设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。 最大匹配:二分图中边集的数目最大的 ...
分类:
其他好文 时间:
2018-03-08 02:47:02
阅读次数:
165
二分图最大匹配模板【匈牙利;Dinic最大流】 匈牙利算法 int n,m; vector map[100010]; int match[100010];//保存匹配的互相点 bool vis[100010]; bool dfs(int u) { for(int j=0;j n m e; for(i ...
分类:
其他好文 时间:
2018-02-21 22:22:04
阅读次数:
191
首先,题目目的就是为了分割狼群和羊群,即建立超级源和超级汇求最小割从而转化成用网络流来处理。 如果没有空地,那么就是简单的二分图最大匹配,但是题中有空地的出现,所以需要在点与点之间建立双向边(不算后向弧),这样才能满足题意(我一开始挂到了这里) 理解透了还是很简单的 代码付上 1 #include ...
分类:
其他好文 时间:
2018-02-16 23:17:56
阅读次数:
205
A. 石油采集 题意:给你一个n*n的方格,n小于50,每个方格中'.'代表水,‘#’代表油。每次你可以收集两个相邻方格里的油。问你最多能收集几次。 观察:有点像用1*2的多米诺骨牌覆盖棋盘问题,求一下二分图最大匹配。 code: 1 /* 2 by skydog 3 */ 4 #include < ...
分类:
编程语言 时间:
2018-02-11 22:47:16
阅读次数:
189
经典二分图匹配问题。把每个点拆成两个,对于原图中的每一条边(i,j)连接(i,j+n),最小路径覆盖就是点数n 二分图最大匹配。方案直接顺着匹配dsf。。 cpp include include using namespace std; const int N=505,M=120005; int n ...
分类:
编程语言 时间:
2018-02-07 00:34:04
阅读次数:
207
题面 应该是二分图匹配,不过我写的是网络最大流。 dinic求二分图最大匹配:加个源点和汇点,源点连向二分图的一边所有点,二分图的另一边所有点连向汇点,很明显这样得到的最大流就是这个二分图的最大匹配。 ...
分类:
其他好文 时间:
2018-02-06 14:25:45
阅读次数:
203
一看就想到了二分图最大匹配的匈牙利算法。 注意要加时间戳优化,不然会超时。 在网上找到了并查集做法,不难理解。 如果没有出现环,那么结果肯定是一片森林。 我们肯定每次选小的。 如果出现了环,那么环所在集合每个数都可以选了。 于是我们使用并查集维护集合。 保证集合的祖宗是整个并查集中最大的属性值。 每 ...
分类:
其他好文 时间:
2018-01-24 22:25:11
阅读次数:
262
题目背景 二分图 题目描述 给定一个二分图,结点个数分别为n,m,边数为e,求二分图最大匹配数 输入输出格式 输入格式: 第一行,n,m,e 第二至e+1行,每行两个正整数u,v,表示u,v有一条连边 输出格式: 共一行,二分图最大匹配 输入输出样例 输入样例#1: 1 1 1 1 1 输出样例#1 ...
分类:
其他好文 时间:
2018-01-21 14:50:34
阅读次数:
144