D2. Great Vova Wall (Version 2)
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)的更多相关文章
- 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 ...
- 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 ...
- Codeforces 1092 D2 Great Vova Wall (Version 2) (栈)
题意: 给一排砖,每列的高度$a_i$,问是否可以放1*2的砖,使得n列高度一样,砖只能横着放 思路: 每两个相邻的高度相同的砖可以变成大于等于它的高度的任意高度 所以像这样的 123321 是不满足 ...
- 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 ...
- 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 ...
- 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 ...
- D1. Great Vova Wall (Version 1)
链接 [https://codeforces.com/contest/1092/problem/D1] 题意 给你n个位置墙的高度,现在你有2×1 砖块,你可以竖直或者水平放置 问你是否可以使得所有位 ...
- CF1092(div3):Great Vova Wall (栈)(还不错)
D1. Great Vova Wall (Version 1): 题意:给定长度为N的墙,以及每个位置的一些高度,现在让你用1*2的砖和2*1的砖去铺,问最后能否铺到高度一样. 思路:分析其奇偶性,在 ...
- 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, ...
随机推荐
- 【MM系列】SAP MM 非限制/可用库存
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM 非限制/可用库存 ...
- go语言打造个人博客系统(一)
go语言打造个人博客系统(一) 为什么选择go语言? 听说go语言是在几年前,但真正深入了解他却是在2017年,因为当时作为讲师 ,需要准备go语言的课程,结果稍一接触立刻就喜欢上这门语言了,作为 ...
- Windows Server 2016-Win Ser 2016已删减内容
本章与大家简单聊聊已经从Windows Server 2016产品中删减掉或者计划在以后潜在删除的功能或者模块. 文件服务器 共享和存储管理贴靠-Microsoft 管理控制台已删除. 相反,请执行以 ...
- windows 上查看一个命令的退出码
windows 上查看一个命令的退出码可以使用下面语句 echo %errorlevel% 例如:windows 上没有ls 命令,所以使用后没有成功,查看退出码为9009 ,非0 使用dir 列出目 ...
- 在Django中接收文件并存储
首先是一个views函数的例子 def get_user_profiles(request): if request.method == 'POST': myFile = request.FILES. ...
- MY Views on Doctor-patient relationship 英语医患关系议论文
MY Views on Doctor-patient relationship Author:Pleiades_Antares(www.cnblogs.com/irischen) 1. In rece ...
- python 进程介绍 进程简单使用 join 验证空间隔离
一.多道程序设计技术(详情参考:https://www.cnblogs.com/clschao/articles/9613464.html) 所谓多道程序设计技术,就是指允许多个程序同时进入内存并运行 ...
- 【English】20190308
hiring雇佣['haɪərɪŋ] across跨越 field sales区域销售[fild] [seɪlz] The Google Cloud team is growing and w ...
- 【Window Power Shell】介绍与使用
Windows PowerShell 是专为系统管理员设计的新 Windows 命令行脚本环境,主要实现系统和应用程序管理自动化. 1.发展历史 在2002年,微软开始研究一个新的产品叫做”Monad ...
- node基础—概述与安装
什么是Nodejs 简单的说 Node.js 就是运行在服务端的 JavaScrip(编写高性能网络服务器的JavaScript工具包(用js开发服务端程序))t. JS是脚本语言,脚本语言都需要一个 ...