博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 4252 - A Famous City (单调栈)
阅读量:4969 次
发布时间:2019-06-12

本文共 1447 字,大约阅读时间需要 4 分钟。

单调栈: 基础知识 百度一哈

题目:

单调栈 | 维护单调栈。每个矩形入栈时,判断它的高度是否大于等于栈顶矩形的高度,如果满足,则直接入栈。否则就向前找,一边出栈一边记录宽度,计算面积。知道找到第一个不满足条件的位置,然后将当前高度入栈。

#include
using namespace std;int main(){ int n, x, ans = 0, ca = 0; stack
s; while(cin >> n) { ans = 0; while(!s.empty()) s.pop(); for(int i = 0; i < n; i++) { cin >> x; if(s.empty()) { if(x) s.push(x); continue; }else { if(s.top() == x) { continue; }else if(s.top() < x) { s.push(x); }else { //弹 bool flag = true; while(!s.empty()) { if(s.top() > x) { s.pop(); ans++; }else if(s.top() == x) { flag = false; break; }else { if(x) s.push(x); flag = false; break; } } if(flag && x != 0) { s.push(x); } } } } ans += s.size(); ca++; printf("Case %d: %d\n",ca,ans); } return 0;}
View Code

 

转载于:https://www.cnblogs.com/JiaaaaKe/p/11255939.html

你可能感兴趣的文章
Learning Cocos2d-x for XNA(2)——深入剖析Hello World
查看>>
软件建模——第9章 毕业论文管理系统—面向对象方法
查看>>
Http协议
查看>>
手机端web开发必备代码
查看>>
[SDOI2008]洞穴勘测
查看>>
NOI2014 购票
查看>>
Difference between Linearizability and Serializability
查看>>
电影《绿皮书》
查看>>
IDEA使用操作文档
查看>>
如何对网课、游戏直播等进行录屏
查看>>
UIView
查看>>
有关去掉谷歌及火狐浏览器文本框 数字类型 上下箭头的方法
查看>>
MySQL数据迁移到SQL Server
查看>>
复杂链表的复制(python)
查看>>
添加日期选择控件
查看>>
jquery.cookie.js操作cookie
查看>>
javascript遍历数组
查看>>
bzoj4765: 普通计算姬 (分块 && BIT)
查看>>
thinkphp5-----模板中函数的使用
查看>>
POJ-3211 Washing Clothes[01背包问题]
查看>>