
二分图
文章平均质量分 51
搜索与图论---二分图
(xsj)
模拟只会猜题意
贪心只能过样例
DP一般看规律
数论只会gcd
计算几何瞎暴力
图论只会匈牙利
数据结构没学过
字符串只能干输入
展开
-
算法竞赛进阶指南 关押罪犯
题面题解我们将罪犯当作点,罪犯之间的仇恨关系当作点与点之间的无向边,边的权重就是罪犯之间的仇恨值,那么原来的问题就转化成了把所有点分成两组,使得各组内的边的权重的最大值最小我们在[0,1e9] 之间二分枚举最大权值x,当x固定之后,我们就可以判断能否将所有点分成两组,使得权值大于x的边在两组之间,而小于等于x的权值在组内,也就是判断由所有点以及所有权值大于 limitlimit 的边构成的新图是否是二分图。代码#include<iostream>#include<cs原创 2021-04-07 10:21:58 · 101 阅读 · 0 评论 -
acwing 861 二分图的最大匹配 (匈牙利算法)
题面题解匈牙利算法:求一个二分图的最大匹配数,O(nm),实际远小于这个时间复杂度,,遵循“先到先得,能让则让”的原则2. 模拟过程:1匹配最先的6,2匹配最先的7,3只有一个能匹配的6,但是6已经让1匹配,我们就需要看6所匹配的点1能否去匹配别的点,发现1除了能匹配6,还可以匹配8,所以就让1匹配8,3匹配6,4匹配7代码#include<iostream>#include<cstdio>#include<string>#include原创 2021-03-09 11:46:48 · 272 阅读 · 1 评论 -
acwing 860 染色法判定二分图
题面题解二分图定义:图中点可分为两个集合,每个集合中的点互不相邻二分图性质:当且仅当图中不含奇数环(充要条件)待更。。。。。。。代码#include<iostream>#include<cstdio>#include<string>#include<cstring>#include<algorithm>using namespace std;const int N = 1e5 + 10;int n,原创 2021-03-09 00:25:52 · 217 阅读 · 0 评论