![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二分图
躺平平的弱鸡
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 · 338 阅读 · 0 评论 -
二分图的最大匹配算法
二分图的最大匹配又称匈牙利算法,顾名思义,就是在二分图找最多的匹配个数。 算法思想:1.首先从一个没有匹配的任意顶点u,从点u的任意一条边(假设是u -> v),如果此时v没有被匹配,则配对成功, 记作 match[u] = v; match[v] = u;原创 2016-04-18 19:07:41 · 936 阅读 · 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 · 94 阅读 · 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 · 314 阅读 · 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 · 344 阅读 · 0 评论