二分图
文章平均质量分 52
1
kaka0010
退役ACMer/算法竞赛菜鸡
展开
-
2017 CCPC秦皇岛 H.Prime Set(二分图匹配+分类讨论)
原题链接:https://ac.nowcoder.com/acm/problem/14372 目录题意分析Code 题意 简化一下题意,就是你可以从n个数中选择k对数,要求选择的ai,aj满足ai+aj=primea_i+a_j=primeai+aj=prime且i!=ji!=ji!=j 接着将选择的k对取∪,问最大的集合size是多少。 分析 先考虑怎么合成质数,一般情况下质数都是奇数,因此肯定是奇数+偶数合成,当然存在2的例外。先不考虑2,那么就变成二分图的形式,我们先求最大匹配。假设最大匹配为an原创 2021-09-17 13:49:12 · 144 阅读 · 0 评论 -
2021牛客暑期多校训练营3 C.Minimum grid 二分图最大匹配
原题链接:https://ac.nowcoder.com/acm/contest/11254/C 目录题意分析Code 题意 有一个n*n的矩阵,要求在m个位置填上个数,每个数的大小是[0,k],给定每行每列的最大值,问填数总和的最小值。 分析 如果直接填数,我们发现最多只需要填2*n个数,即将所有的最大值都填上去。但我们发现,如果第i行的最大值和第j列的最大值相等,那么将aij填上数,可以少填一个数。因此我们推广一下,如果有n行和m列最大值相等,那么我们进行一次最大匹配,得到的匹配数就是减少填的数字。那么原创 2021-07-28 14:42:08 · 103 阅读 · 0 评论 -
Codeforces Round #726 (Div. 2) F. Figure Fixing 二分图性质
原题链接:https://codeforces.ml/contest/1537/problem/F 目录题意分析Code 题意 有一个n个节点m条边的图,每个点上都有权值ai,现在你可以对相邻点对同时加上或减去一个数,问是否能将所有ai变成理想的bi。 分析 我们先把改变值累加sum=∑∣bi−ci∣sum=\sum |bi-ci|sum=∑∣bi−ci∣,因为我们是对两个数同时操作的,因此sum只能同时加或减某个偶数。然后我们发现另一个关键性质,就是我们可以对奇数距离的点进行同加操作,对偶数距离的点进行一原创 2021-07-14 08:39:06 · 119 阅读 · 0 评论 -
牛客小白月赛14 J.I 二分图染色+bitset优化背包
原题链接:https://ac.nowcoder.com/acm/contest/879/J 目录题意分析Code 题意 给定n个点,m条边,问最多可以加多少条边使得该图还是二分图 分析 满足图是二分图,首先要做到不能存在奇环,也就是染色的时候不同颜色的点是不能相邻的。当我们把一个二分图分成两个部分之后,可以连的边数就是两边点的个数相乘,然后我们所求的也就是(∑ai∗∑bi)−m(\sum ai *\sum bi) -m(∑ai∗∑bi)−m最大。 一开始是一个森林,因此可以看成有很多个二选一的物品,因为同原创 2021-03-13 13:34:37 · 339 阅读 · 2 评论 -
2021牛客寒假算法基础集训营1 C 红和蓝 二分图判定+构造
https://ac.nowcoder.com/acm/contest/9981/C 目录题意分析Code 题意 有一棵树,每个节点上都有一种颜色,要求每个红色点边上只有一个红色点,每个蓝色点边上只有一个蓝色点,问能否构造,否则输出-1。 分析 稍微画一下图可以注意到红色和蓝色都是成对出现的,也就是说用相邻的两个点对覆盖整棵树,而且不能重叠。看到点对问题可以想到二分图的染色问题,而这时我们要多处理一步,就是找出点对。 在此之前我们通过二分图判定,如果黑色点和白色点个数不相同,那么无法构成n/2个点对。排除原创 2021-02-01 20:04:38 · 765 阅读 · 0 评论 -
2020杭电多校第四场 Go Running(二分图最小点覆盖)
题目链接 比赛时一直以为是贪心题,结果一直被卡死, 只能说这应该是一道非常经典的二分图问题。 将每个点放在坐标轴上,即(t, pos+vt),而已知v为1,而在同一条斜率为1或-1的直线上的点可能都是同一个学生,所以这就转化成了非常经典的最小点覆盖问题,最少用多少条斜率固定线可以覆盖所有的点。 同时,我们可以把经过每个点的斜率为1和-1的直线与坐标轴的交点求出来,因为数据很大,记得离散化处理。因为最小点覆盖就等于二分图的最大匹配 (证明略) ,所以只要跑一遍匈牙利算法就ok了。 怕被卡时间,所以用了原创 2020-07-31 13:47:01 · 362 阅读 · 0 评论