
二分图
躺平平的弱鸡
IT界资深菜鸟。。
展开
-
二分图的判定
二分图:一个图的顶点可以分两个集合A和B,所有的边的两个顶点一个来自于A,另一个来自于B,且每个集合中的顶点相互没有边。由于顶点比较多,所以采用了vector来存储图;#include #include #include #include using namespace std;const int maxn = 1e4;vector e[maxn + 5];原创 2016-04-18 18:22:12 · 377 阅读 · 0 评论 -
二分图的最大匹配算法
二分图的最大匹配又称匈牙利算法,顾名思义,就是在二分图找最多的匹配个数。算法思想:1.首先从一个没有匹配的任意顶点u,从点u的任意一条边(假设是u -> v),如果此时v没有被匹配,则配对成功, 记作 match[u] = v; match[v] = u;原创 2016-04-18 19:07:41 · 1301 阅读 · 1 评论 -
NYOJ2444The Accomodation of Students
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2444就是一个匈牙利算法模板题。代码:#include #include #include using namespace std;int n,m;int e[205][205];int col[205];int match[205];int v[205]原创 2016-04-20 18:03:04 · 110 阅读 · 0 评论 -
NYOJ239月老的难题
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=239把男孩的编号都加上个n,然后用vector,神奇就过了。代码:#include #include #include using namespace std;int n,k;vector e[1005];int v[1005];int matc原创 2016-04-20 18:35:15 · 331 阅读 · 0 评论 -
hdu1054Strategic Game&&hdu1150Machine Schedule(最小顶点覆盖)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1054用最少的点连接最多的边,最小顶点覆盖 = 最大匹配(定理)代码:#include #include #include using namespace std;const int maxn = 1500;vector g[maxn + 5];int原创 2016-05-18 18:25:54 · 364 阅读 · 0 评论