CF1268B Domino for Young (黑白染色)

2023-10-12 18:40

本文主要是介绍CF1268B Domino for Young (黑白染色),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Problem - 1268B - Codeforces

给出一个不规则的网格。共 nn 列,每列有 a_iai​ 个格子。现在要将 1 \times 21×2 的骨牌不重叠的覆盖在网格上,求最多能放的骨牌数量。

网格满足条件 高度左到右递减。

题解:

比较经典的骨牌填棋盘问题。

有神仙结论就是假如黑白间隔染色后,那么染出来的东西就一定可以用1*2的骨牌填满。

那么考虑填上即可。

假如都一样高,那么直接横着放就行了;

如果有差,那么就竖着填上差的部分再横着放;

ps:听说还有网络流经典棋盘建模操作,但是不会啊,好像还会T得很惨。数据有点不友好。 

/*keep on going and never give up*/
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ll long long
#define db(x) cerr<<(#x)<<" "<<(x)<<" "<<endl;
#define endl "\n"
#define fast std::ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
const double E = exp(1);
const double PI = acos(-1.0);
const int mod=1e9+7; 
const int maxn=2e5+10;
int n,cnt[maxn];
signed main() {fastcin>>n;for(int i=1,m;i<=n;i++){cin>>m;cnt[0]+=m/2;cnt[1]+=m/2;cnt[i%2]+=m%2;}	cout<<min(cnt[0],cnt[1]);
}

这篇关于CF1268B Domino for Young (黑白染色)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/197731

相关文章

黑白格

题目描述 小杨有一个 n 行 m 列的网格图,其中每个格子要么是白色,要么是黑色。 小杨想知道至少包含 k 个黑色格子的最小子矩形包含了多少个格子。 输入格式 第一行包含三个正整数 n,m,k,含义如题面所示。 之后 n 行,每行⼀个长度为 m 的 01 串,代表网格图第 i 行格子的颜色,如果为 0,则对应格子为白色,否则为黑色。 输出格式 输出一个整数,代表至少包含 k 个黑色格

oc 图片变黑白

理论依据: 所谓颜色或灰度级指黑白显示器中显示像素点的亮暗差别,在彩色显示器中表现为颜色的不同,灰度级越多,图像层次越清楚逼真。灰度级取决于每个像素对应的刷新 存储单元的位数和显示器本身的性能。如每个象素的颜色用16位 二进制数表示,我们就叫它16位图,它可以表达2的16次方即65536种颜色。如每一个象素采用24位二进制数表示,我们就叫它24位图,它可以表达2的24次方即16777

【HDU】5574 Colorful Tree【子树染色,询问子树颜色数——线段树+bit+lca+set】

题目链接:【HDU】5574 Colorful Tree 题目大意:对一个子树染色,询问一个子树的颜色数。 题目分析: set set维护每种颜色所在的 dfs dfs序区间,修改均摊 nlogn nlogn。 #include <bits/stdc++.h>using namespace std ;typedef long long LL ;typedef pair < int , i

HDU4185Oil Skimming(行列匹配||棋盘匹配||黑白染色||1X2矩形覆盖)

题意:找出最多的形如“##”横着竖着都可以,明显的1X2矩形覆盖,直接按坐标和的奇偶来分为二分图。 #include<cstdio>#include<iostream>#include<algorithm>#include<cmath>#include<set>#include<map>#include<string>#include<cstring>#include<stac

关于二分图染色的几点总结

二分图染色的概念: 二分图染色是一种用来判断给定图(有向图或无向图)是否是二分图的算法。在图上不断进行BFS或DFS,并在运行过程中不断对结点进行"染色","染色"保证相邻结点的颜色必然不同。如果无法保证,则这个图就是二分图. 二分图染色时的注意事项: 二分图染色的题常会结合DP进行考察,因此往往要注意推理状态转移方程二分图染色类型的题目也有可能结合类似DAG上的推论这种图上定理进行考察,这

solana智能合约 rust语言 转账黑白名单代码

在 Solana 中,智能合约(也称为链上程序或 Program)主要是使用 Rust 语言编写的。为了实现一个转账功能,并带有黑白名单限制,我们需要创建一个智能合约,该合约能够接收转账请求,并根据预设的黑白名单规则来决定是否允许转账。 下面是一个简单的 Rust 代码示例,展示了如何在 Solana 上实现这样的智能合约。这个示例假设已经熟悉了 Solana 的基本概念和 Rust 语言的基本语

三色染色问题

三色染色问题 有排成一行的n个方格,用红、黄、绿三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色。 求全部的满足要求的涂法种数。 代码 #include<iostream>#include<cstdio>using namespace std;long long dp[100]={0,3,6,6};int main(){int n;scanf("%d"

【第57课】SSRF服务端请求Gopher伪协议无回显利用黑白盒挖掘业务功能点

免责声明 本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。 如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利,则应及时通知并提供身份证明,所有权证明,我们将在收到认证文件后删除相关内容。 文中所涉及的技术、思路及工具等相关知识仅供安全为目的的学习使用,任何人不得将其应用于非法用途及盈利等目的,间接使用文章中的任何工具

人工智能在数字病理切片虚拟染色以及染色标准化领域的研究进展|顶刊速递·24-06-23

小罗碎碎念 本期推文主题:人工智能在数字病理切片虚拟染色以及染色标准化领域的研究进展 这一期的推文是我发自内心觉得为数不多,特别宝贵的一篇推文,原因很简单——可参考的文献相对较少&方向非常具有研究意义&现在不卷。 数字病理方向的老师/同学应该清楚,不同中心提供的切片,染色方案是存在差异的,并且还存在各种质量问题,所以我们在数据预处理的时候,通常会先对切片的质量执行一遍筛选,然后再进行染

图片怎么弄成黑白的?关于将图片改成黑白的几种方法

图片怎么弄成黑白的?黑白照片以其独特的艺术魅力和经典的视觉效果,依然在摄影和图像处理中占据重要地位。无论是为了追求怀旧的氛围,还是为了突出图像的构图和光影效果,许多人都希望将彩色图片转换成黑白图片。这不仅可以赋予图像一种独特的情感和风格,还能让观众更加关注画面的细节与纹理,而不是被色彩所分散注意力。黑白图像能够传达更为纯粹和直接的视觉信息。在彩色照片中,不同颜色可能会互相竞争,导致观者很难专注于图