![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
二分图
文章平均质量分 67
1
zzqwtc
blog dot zzqwtc dot com
展开
-
Acwing 378.骑士放置(二分图的最大独立集)
Acwing 378.骑士放置 题意 给定一个 N×M 的棋盘,有一些格子禁止放棋子。 问棋盘上最多能放多少个不能互相攻击的骑士(国际象棋的“骑士”,类似于中国象棋的“马”,按照“日”字攻击,但没有中国象棋“别马腿”的规则)。 思路 将棋盘划分为两类:坐标和奇数为一类 坐标和偶数为一类,如下图 可以发现 当前格子能到达的格子与其本身奇偶性不同,所以根据坐标和的奇偶性将其抽象成一个二分图,把每个格子和它能到达的格子之间连一条边。 题目要求出最多能放置多少个不能互相攻击的骑士,也即求出最多能放置多少个骑士其两原创 2021-10-07 16:04:34 · 3394 阅读 · 0 评论 -
Acwing 376.机器任务 (最小点覆盖)
Acwing 376.机器任务 题意 有两台机器 AAA,BBB 以及 KKK 个任务。 机器 AAA 有 NNN 种不同的模式(模式0∼N−10∼N−10∼N−1),机器 BBB 有 MMM 种不同的模式(模式 0∼M−10∼M−10∼M−1)。 两台机器最开始都处于模式 0。 每个任务既可以在 AAA 上执行,也可以在 BBB 上执行。 对于每个任务 iii,给定两个整数 a[i]a[i]a[i] 和 b[i]b[i]b[i],表示如果该任务在 AAA 上执行,需要设置模式为 a[i]a[i]a[i],原创 2021-10-07 15:00:22 · 3268 阅读 · 0 评论 -
Acwing 372. 棋盘覆盖 (二分图求最大匹配)
棋盘覆盖 题意 给定一个 N 行 N 列的棋盘,已知某些格子禁止放置。 求最多能往棋盘上放多少块的长度为 2、宽度为 1 的骨牌,骨牌的边界与格线重合(骨牌占用两个格子),并且任意两张骨牌都不重叠。 思路 我们将棋盘上的方格看作点,骨牌看作两个点之间的边,那么问题就可以抽象成最多能选取多少条边,使得每条边没有公共顶点。如图: 这时 棋盘还不能看作二分图,不能使用匈牙利算法。 接下来,我们可以将每个点染色,染色方式如下: 将所有点分成两部分:坐标和为奇数的 和 坐标和为偶数的,可以发现,任意一个符原创 2021-10-07 14:06:42 · 3371 阅读 · 0 评论