首页
比赛
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
棋盘覆盖
6条解析
开通博客写题解
19-大数据一班-杨文冠
发表于 2021-01-19 16:16:29
思路: 一个骨牌覆盖两个相邻的格子,也就是相邻的格子有边相连,不相邻的格子没有边相连,所以可以分成两个集合,是偶数的和是奇数的分开,恰好与“0要素”对应。每个格子只能被1张骨牌覆盖,恰好与“1要素”对应。将没有被禁止的格子分成左右两个集合,建一个左集合节点到右集合节点的有向图(根据具体实现的原理可以
展开全文
这次会中奖的!!!
发表于 2020-12-09 19:30:16
题目链接 题意: 给一个nn的棋盘, 棋盘上有m个障碍,要求用12的多米诺骨牌进行掩盖。且任意两张骨牌都不重叠,障碍上不能有骨牌。 思路: 1*2的骨牌且骨牌不能有重叠,这个性质很容易想到二分图。 怎样建这个图呢? 将棋盘上的点提出来, 每个点与它相邻的四个点进行连边操作,这样见图就完成了 建图
展开全文
GenmCai
发表于 2019-08-26 10:03:26
【题目】 给出一张n×n(n≤100)的国际象棋棋盘,其中被删除了一些点,问可以使用多少1*2的多米诺骨牌进行掩盖。 【题意】 题意简单,不做多说明,多米诺骨牌可以理解为长方形的方块。 【题解】 仔细一想,可以发现能用二分图来做。即可以把每个位置的点进行重新编号,相邻的两点具有不同的性质。比如说在2
展开全文
louhc
发表于 2019-08-24 07:27:13
思路 放置多米诺骨牌可以看作与或或或匹配的过程.因为与,奇偶性不同,可以分成一个二分图.这样就变成一个二分图匹配问题,能匹配且都不是障碍的两个点之间连边,直接跑匈牙利即可. 代码 #include<bits/stdc++.h> using namespace std; #define i
展开全文
minux_sufe
发表于 2020-07-04 23:02:37
#include <bits/stdc++.h> using namespace std; typedef pair<int, int> PII; #define fi first #define se second const int N=105; int n, m;
展开全文
回归梦想
发表于 2021-01-14 00:00:49
题目: 给出一张n×n(n≤100) 的国际象棋棋盘,其中被删除了一些点,问可以使用多少1*2的多米诺骨牌进行掩盖。 题解: 先进行黑白染色,相邻的两个黑白就是一个骨牌,又因为一个格子不能放多个骨牌,所以相当于找每个格子的搭档(搭档即为相邻的点),使得搭档的数量足够多裸的二分图最大匹配 代码:
查看本题
查看本题讨论
相关比赛
1062-0x68 图论-二分图的匹配
进入比赛
27023-寒假冲刺
进入比赛
27180-两天的图论
进入比赛
34649-2022图论班第一章图匹配例题与习题
进入比赛
47876-星辰阁
进入比赛
等你来战
查看全部
新疆大学2025年7月月赛(同步赛)
报名截止时间:2025-07-06 18:00
牛客周赛 Round 99
报名截止时间:2025-07-06 21:00
牛客练习赛142
报名截止时间:2025-07-11 21:30
2025年第一届上海师范大学程序设计竞赛(同步赛)
报名截止时间:2025-07-13 18:00
牛客周赛 Round 100
报名截止时间:2025-07-13 21:00
2025牛客暑期多校训练营1
报名截止时间:2025-07-15 17:00
2025牛客暑期多校训练营2
报名截止时间:2025-07-17 17:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题