二分图
文章平均质量分 50
二分图判定,最优匹配,完美匹配等合集
黑猫酱x
这个作者很懒,什么都没留下…
展开
-
KM算法模板及例题(未完)
前言 KM算法用于求二分图完全匹配时的最大总权值。 本文不讲算法具体过程,主要是方便大家刷题巩固。它的原理是基于匈牙利算法基础上,通过修改标杆(也就是链接文中的好感度)实现最大化。如果是求最小总权值只需要将两点间的权值取负,最后答案取负即可。 具体过程可参考这篇博客 模板: #include <bits/stdc++.h> using namespace std; const int maxn=3e2+10; const int INF = 0x3f3f3f3f; #define faster原创 2021-09-28 11:13:40 · 448 阅读 · 0 评论 -
hdu oj 2255 奔小康赚大钱 (KM)
#include <bits/stdc++.h> using namespace std; const int maxn=3e2+10; const int INF = 0x3f3f3f3f; #define faster ios::sync_with_stdio(false);cin.tie(0),cout.tie(0) int link[maxn][maxn],usex[maxn],usey[maxn],ptn[maxn],exx[maxn],exy[maxn],sl[maxn]; int原创 2021-09-28 11:10:55 · 213 阅读 · 0 评论 -
CF #360(Div1) A. NP-Hard Problem(二分图判定)
题目链接: https://codeforces.com/contest/687/problem/A 中文翻译: 题目 最近,Pari和Arya对NP-Hard问题进行了一些研究,他们发现最小顶点覆盖问题非常有趣。 对于给定的图GGG,其顶点集合的子集AAA被称为此图的一个顶点覆盖,当且仅当对于图中的每条边uvuvuv,其都有至少一个顶点在此子集中,即u∈Au∈Au∈A或v∈Av∈Av∈A(或二者皆符合) Pari和Arya在一场团队比赛中赢得了一个很棒的无向图作为奖励。现在他们要把它分成两份,但他们两个都原创 2021-08-08 21:45:14 · 99 阅读 · 0 评论 -
杭电oj 2236 无题II(二分+匈牙利)
本题链接 题目 题目描述 这是一个简单的游戏,在一个n*n的矩阵中,找n个数使得这n个数都在不同的行和列里并且要求这n个数中的最大值和最小值的差值最小。 输入 输入一个整数T表示T组数据。 对于每组数据第一行输入一个正整数n(1<=n<=100)表示矩阵的大小。 接着输入n行,每行n个数x(0<=x<=100)。 输出 对于每组数据输出一个数表示最小差值。 Sample Input 1 4 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 Sample Output 3原创 2021-08-06 18:51:21 · 78 阅读 · 0 评论 -
杭电oj 2063 过山车(匈牙利算法)
前言: 匈牙利算法主要是解决二分图最大匹配问题,它用一句话总结就是“先到先得,能让就让” 这里是很板子裸匈牙利算法的一题,当然,比赛的题就没这么裸了,需要我们仔细观察。同裸的一题还有洛谷的 P3386 【模板】二分图最大匹配 题目: 思路 女生男生分别作为二分图的两部分,不能女生选女生男生选男生,显然是二分图的最大匹配。 代码 #include <bits/stdc++.h> using namespace std; const int maxn=5e2+10; #define faster原创 2021-08-06 18:16:22 · 351 阅读 · 0 评论