基本思想是利用涂色的方法,用黑白两种颜色把方格全部涂色,相邻方格不同色。

方法1:基于二分图匹配的思想

一开始也想过二分图匹配,但数据量太大,就放弃了这种想法。其实根据增广路的定义。如果白色的方格的数量小于黑色方格数量,那么当白色方格还没有匹配完时,一定有黑色的方格没有匹配。那么从该白色的方格出发,一定可以走出一条增广路到达黑色的方格。即数量少的颜色一定可以匹配完。那么只要求出二者数量的最小值即可。

 #include <bits/stdc++.h>
using namespace std;
const int N=3e5+;
int a[N];//把图涂成两种颜色: 黑和白
int n;//求黑色和白色块的数量的最小值
int main()
{
while(scanf("%d",&n)!=EOF)
{
long long ans1=,ans2=;
int a;
for(int i=;i<=n;i++)
{
scanf("%d",&a);
ans1+=(a/);
ans2+=(a/);
if(i&)
{
if(a&)
ans1++;
}
else
{
if(a&)
ans2++;
}
}
printf("%lld\n",min(ans1,ans2));
}
return ;
}

方法2:

对于每一列,一列一列的放的话,那么如果该列的方格数量为偶数那么最后该列一定不剩下方格,如果为奇数,那么肯定会剩下一个,所以最终结果就是如果黑色和白色的方格数量不等的话,那么最后一定会剩下。且数量少的一定会被删除。

D. Domino for Young的更多相关文章

  1. Codeforces Round #609 (Div. 2) D. Domino for Young

    链接: https://codeforces.com/contest/1269/problem/D 题意: You are given a Young diagram. Given diagram i ...

  2. codeforces 1269D. Domino for Young (二分图证明/结论题)

    链接:https://codeforces.com/contest/1269/problem/D 题意:给一个不规则的网格,在上面放置多米诺骨牌,多米诺骨牌长度要么是1x2,要么是2x1大小,问最多放 ...

  3. Codeforces Round #609 (Div. 2) 题解

    Equation Modulo Equality Long Beautiful Integer Domino for Young K Integers Equation \[ Time Limit: ...

  4. Codeforces Round #609 (Div. 2)前五题题解

    Codeforces Round #609 (Div. 2)前五题题解 补题补题…… C题写挂了好几个次,最后一题看了好久题解才懂……我太迟钝了…… 然后因为longlong调了半个小时…… A.Eq ...

  5. Codeforces Round #609 (Div. 2) A-E简要题解

    contest链接:https://codeforces.com/contest/1269 A. Equation 题意:输入一个整数,找到一个a,一个b,使得a-b=n,切a,b都是合数 思路:合数 ...

  6. BPM Domino集成解决方案

    一.需求分析 Lotus Notes/Domino是IBM的协同办公平台,在国内有广泛的用户. 但由于推出年头较早.采用文档数据库等特点, 导致其流程集成能力弱.统计分析难.不支持移动办公等问题,很多 ...

  7. Lesson 17 Always young

    Text My aunt Jennifer is an actress. She must be at least thirty-five years old. In spit of this, sh ...

  8. 【转载】给那些想多学习,多进步的Domino初学者

    在这个社区里面,包括QQ技术群里面混了很久了.遇到了很多Domino初学者,也认识了很多致力于Domino这个技术领域的朋友,很开心.很久没有写长篇大论给大家了.我要把一些想法写出来,共大家参考.讨论 ...

  9. 斯考特·杨(Scott Young)快速学习方法

    上午在网上看到了斯考特·杨(Scott Young)的快速学习方法,感觉很受鼓舞. 现在已经读研究生了,可是发现自己自从上大学以来到现在,发现自己的学习方法有很大的问题. 我是个特别喜欢读书的人,在大 ...

随机推荐

  1. cloud-init使用技巧

    对于 Linux 镜像,cloud-init 负责 instance 的初始化工作.cloud-init 功能很强大,能做很多事情,而且我们可以通过修改配置文件灵活定制 cloud-init. clo ...

  2. CassandraAppender - distributed logging,分布式软件logback-appender

    农历年最后一场scala-meetup听刘颖分享专业软件开发经验,大受启发.突然意识到一直以来都没有完全按照任何标准的开发规范做事.诚然,在做技术调研和学习的过程中不会对规范操作有什么严格要求,一旦技 ...

  3. selenium控制浏览器操作

    selenium控制浏览器操作 控制浏览器有哪些操作? 控制页面大小 前进.后退 刷新 自动输入.提交 ........  控制页面大小,实例: # -*- coding:utf-8 -*- from ...

  4. HEXO常用命令总结

    博客搬家:hexo常用命令总结 常见命令 hexo new "postName" #新建文章 hexo new page "pageName" #新建页面(新建 ...

  5. Codeforces_731_A

    http://codeforces.com/problemset/problem/731/A 每次操作总共4种情况,判断一下就好了. #include<iostream> #include ...

  6. BZOJ 2434 阿狸的打字机(ac自动机+dfs序+树状数组)

    题意 给你一些串,还有一些询问 问你第x个串在第y个串中出现了多少次 思路 对这些串建ac自动机 根据fail树的性质:若x节点是trie中root到t任意一个节点的fail树的祖先,那么x一定是y的 ...

  7. wireshark抓包思维导图---新手推荐

  8. 如何用一月6RMB搭建一个国外服务器

    转载自我的博客:https://blog.ljyngup.com 前言 本文将教你如何用一月6RMB的价格搭建一个属于个人的外国服务器.并且一月500G流量,延迟低于500ms. 开始 导航:Virm ...

  9. 02-Redis

    今日内容 1. redis 1. 概念 2. 下载安装 3. 命令操作 1. 数据结构 4. 持久化操作 5. 使用Java客户端操作redis Redis 1. 概念:redis是一款高性能的NOS ...

  10. 面试题|手写JSON解析器

    这周的 Cassidoo 的每周简讯有这么一个面试题:: 写一个函数,这个函数接收一个正确的 JSON 字符串并将其转化为一个对象(或字典,映射等,这取决于你选择的语言).示例输入: fakePars ...