l链接

[https://codeforces.com/contest/1092/problem/D2]

题意

和D1一样只是不能竖直放了

分析

水平放的话,就只可能是相邻等时才可以,而且你会发现

只有中间数字小于两边的才可以

比如551122是可以的,15522不可以,你用一个栈保存当前不能改变高度的位置

如果遇到相等的就出栈,具体看代码体会吧

代码

#include<bits/stdc++.h>
using namespace std;
int main(){
int n,h;
//freopen("in.txt","r",stdin);
while(~scanf("%d",&n)){
stack<int> stk;
int ma=0;
bool flag=1;
for(int i=0;i<n;i++)
{
scanf("%d",&h); ma=max(ma,h);
if(!stk.empty()){
if(h>stk.top()){//如果后面的比栈顶大是不可能填平的,前面没有操作余地了
//而后面的操作只会使得高度不变或者增加
flag=0;
}
if(stk.top()==h){//相邻的等高度可以变成大于等于当前的高度
stk.pop();
}
else if(stk.size()>h) stk.push(h);
}
else stk.push(h);
}
if(stk.size()>1||stk.size()==1&&stk.top()<ma) flag=0;
//剩下的就是无法改变的高度如果超过两个,无法同时满足剩下的高度
//或者剩一个,但是高度小于最大的,也是无法使得所有高度一样
if(flag) printf("YES\n");
else printf("NO\n");
}
return 0;
}

D2. Great Vova Wall (Version 2)的更多相关文章

  1. Codeforces Round #527 (Div. 3) D2. Great Vova Wall (Version 2) 【思维】

    传送门:http://codeforces.com/contest/1092/problem/D2 D2. Great Vova Wall (Version 2) time limit per tes ...

  2. CodeForces Round #527 (Div3) D2. Great Vova Wall (Version 2)

    http://codeforces.com/contest/1092/problem/D2 Vova's family is building the Great Vova Wall (named b ...

  3. Codeforces 1092 D2 Great Vova Wall (Version 2) (栈)

    题意: 给一排砖,每列的高度$a_i$,问是否可以放1*2的砖,使得n列高度一样,砖只能横着放 思路: 每两个相邻的高度相同的砖可以变成大于等于它的高度的任意高度 所以像这样的 123321 是不满足 ...

  4. Codeforces Round #527 (Div. 3) D1. Great Vova Wall (Version 1) 【思维】

    传送门:http://codeforces.com/contest/1092/problem/D1 D1. Great Vova Wall (Version 1) time limit per tes ...

  5. CodeForces Round #527 (Div3) D1. Great Vova Wall (Version 1)

    http://codeforces.com/contest/1092/problem/D1 Vova's family is building the Great Vova Wall (named b ...

  6. Codeforces Round #527-D1. Great Vova Wall (Version 1)(思维+栈)

    time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standa ...

  7. D1. Great Vova Wall (Version 1)

    链接 [https://codeforces.com/contest/1092/problem/D1] 题意 给你n个位置墙的高度,现在你有2×1 砖块,你可以竖直或者水平放置 问你是否可以使得所有位 ...

  8. CF1092(div3):Great Vova Wall (栈)(还不错)

    D1. Great Vova Wall (Version 1): 题意:给定长度为N的墙,以及每个位置的一些高度,现在让你用1*2的砖和2*1的砖去铺,问最后能否铺到高度一样. 思路:分析其奇偶性,在 ...

  9. Codeforces Round #602 (Div. 2, based on Technocup 2020 Elimination Round 3) D2. Optimal Subsequences (Hard Version) 数据结构 贪心

    D2. Optimal Subsequences (Hard Version) This is the harder version of the problem. In this version, ...

随机推荐

  1. jQuery ajax()使用serialize()提交form数据到后台

    1.选中要删除的学生信息 2.点击 删除选中 按钮,把复选框中的值取出提交到后台 3.后台获取选中的id 4.前端也跟着删除数据 示例代码: 前端代码: <!DOCTYPE html> & ...

  2. Angular的MVC理解--节自Adam Free的Pro angularv2

    1. 定义 Angular的核心是采用MVC模式,即Model-View-Controller,也即MVW,Model-View-Whatever. 如下图所示,借助于ASP.NET的MVC模式来描述 ...

  3. python 实现网页 自动登录

    完整代码: 1 from apscheduler.schedulers.blocking import BlockingScheduler 2 from selenium import webdriv ...

  4. git笔记(2)-常见命令的使用(详解待续)

    1. 常用命令 (1)git --help 帮助命令,其他的类似 (2)git branch 查看分支及其他(创建分支,查看远程分支名称等) (3)git checkout 切换分支以及其他 (3)g ...

  5. Ubuntu 无法进行SSH连接,开启22端口

    我们在VM中安装好Ubuntu 虚拟机后,经常需要使用Xshell等工具进行远程连接,但是会出现无法连接的问题,原因是Ubuntu中默认关闭了SSH 服务. 1. 查看Ubuntu虚拟机IP地址: 命 ...

  6. MySQL用户远程登录问题

    今天来水一篇,差点被这个远程登录搞死了,所以记录下这个问题. 先使用status命令查看一下MySQL版本,这里可以可以看到我用的是是8.0.12版本. mysql> status ------ ...

  7. layui form.on('select(xxx)',function(){});绑定失败

    使用layui的form.on绑定select选中事件中, form.on()不执行, 主要原因有 1, select标签中没有写lay_filter属性,用来监听 <select id=&qu ...

  8. 卸载安装node npm (Mac linux )

    1. 卸载node npm (1) 先卸载 npm: sudo npm uninstall npm -g (2) 然后卸载 Node.js. (2.1) 如果是 Ubuntu 系统并使用 apt-ge ...

  9. Java strictfp

    strictfp关键字 用于强制Java中的浮点计算(float或double)的精度符合IEEE 754标准. 不使用strictfp:浮点精度取决于目标平台的硬件,即CPU的浮点处理能力. 使用s ...

  10. 【Teradata 】TD最大列数

    1.一个表最大列数限制是多少? DB2,表最大列数1012,视图最大列数5000:一行最大长度32677Byte Teradata 表最大列数和视图最大列数2048,:16版本前,一行最大长度为64k ...