题目大意: 一个平面直角坐标系中有给定的$n(n\le50)$个红点和$m(m\le50)$个蓝点,每个点可以选择画一个半径为$r$(所有的$r$相同)的圆或不画。圆的半径上限为$R(R\le1000)$。且不同颜色的点所画成的圆不能相交,问所有圆面积的和最大是多少? 思路: 枚举每一对不同颜色的点 ...
分类:
其他好文 时间:
2018-05-21 12:27:46
阅读次数:
181
二分图的概念 二分图又称作二部图,是图论中的一种特殊模型。设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。 就长这个样。 最大匹配与增广路的概 ...
分类:
其他好文 时间:
2018-05-15 19:48:04
阅读次数:
172
题目描述 农夫约翰上个星期刚刚建好了他的新牛棚,他使用了最新的挤奶技术。不幸的是,由于工程问题,每个牛栏都不一样。第一个星期,农夫约翰随便地让奶牛们进入牛栏,但是问题很快地显露出来:每头奶牛都只愿意在她们喜欢的那些牛栏中产奶。上个星期,农夫约翰刚刚收集到了奶牛们的爱好的信息(每头奶牛喜欢在哪些牛栏产 ...
分类:
其他好文 时间:
2018-05-12 19:29:03
阅读次数:
169
解题思路:比较裸的一道题,直接跑匈牙利就行了,但是要注意一点,这个兔崽子是在闯关,一道题回答不出来就没了,直接在题目循环那里加一个else break;就行了!!!; ...
分类:
其他好文 时间:
2018-04-24 23:14:46
阅读次数:
199
【题解】 其实是个二分图最大匹配的模板题,直接上匈牙利算法就好了。 1 #include<cstdio> 2 #include<algorithm> 3 #define N 1010 4 #define rg register 5 using namespace std; 6 int n,m,E,a ...
分类:
其他好文 时间:
2018-04-22 21:51:58
阅读次数:
155
#include #include #include using namespace std; const int maxn=11000; struct my{ int next; int v; }; bool biao[110][110]; bool vis[maxn]; int match[ma... ...
分类:
其他好文 时间:
2018-04-05 22:32:48
阅读次数:
297
"题目链接" 题目是求最长反链,反链指点集内任意两点不能互相到达。 根据Dilworth定理,在DAG中,$$最长反链 = 最小路径覆盖 = V 最大匹配数$$ 用Floyd求一遍传递闭包后,在所有可互相到达的点间连边。求二分图最大匹配。 也可以这么理解: 每一条边表示这两个点不能同时被选中,选出最 ...
分类:
其他好文 时间:
2018-04-04 12:44:52
阅读次数:
175
讲解前首先引入两个概念 二分图最小点覆盖集 定义: 在二分图中求出一个 最小点集 使得图中任意一条边至少有一个端点在点集内 解法: 对二分图进行 最大匹配 最大匹配数就是二分图的最小点覆盖集包含的点数 二分图最大独立集 定义: 对于一张 无向图 求出一个点数最大的点集 使得点集中任意两点没有边相连 ...
分类:
其他好文 时间:
2018-03-25 11:59:01
阅读次数:
233
1 /* 2 公式: 3 二分图最小顶点覆盖 = 二分图最大匹配 4 DAG图的最小路径覆盖 = 节点数(n)- 最大匹配数 5 二分图最大独立集 = 节点数(n)- 最大匹配数 6 */ 7 8 #include 9 using namespace std; 10 11 const int N=1... ...
分类:
编程语言 时间:
2018-03-22 13:42:36
阅读次数:
211
问题 给定一个图,求该图的最大匹配。即找到最多的边,使得每个点至多属于一条边。 这个问题的退化版本就是二分图最大匹配。 由于二分图中不存在奇环,偶环对最大匹配并无影响(可以调整)。所以增广路算法是可以顺利应用的。 在一般图中,我们还是尝试使用 BFS 增广路的算法。 然而一般图中还会出现奇环,在寻找 ...
分类:
其他好文 时间:
2018-03-15 11:23:59
阅读次数:
251