POJ2082(简单堆栈)
来源:互联网 发布:Mac玩钢铁雄心4 编辑:程序博客网 时间:2024/05/29 17:51
poj2082
堆栈是一种先进后出的数据结构。他有一个栈顶指针,通过对对战的入栈和出栈的控制,可以改变一个序列的顺序。
这道题很不易发现的是在输入的n组矩形数据之中要找出组成的最大面积可以把长度大切割。
代码之中注意ans的重大作用。
#include<cstdio>#include<iostream>#include<stack>using namespace std;struct rec{ int w; int h;}data;int main(){ int n,ans,i,lasth,totalw,curarea; while(scanf("%d",&n) && n != -1){ ans = 0; stack<rec>s; lasth = 0; for(i = 0;i < n; i++){ scanf("%d%d",&data.w,&data.h); if(data.h >= lasth) s.push(data); else { totalw = 0; curarea = 0; while(!s.empty() && s.top().h > data.h){ totalw += s.top().w; curarea = totalw * s.top().h; if(curarea > ans) ans = curarea; s.pop(); } totalw += data.w; data.w = totalw; s.push(data); } lasth = data.h; } totalw = 0; curarea = 0; while(!s.empty()){ totalw += s.top().w; curarea = totalw * s.top().h; if(curarea > ans) ans = curarea; s.pop(); } printf("%d\n",ans); } return 0;}
0 0
- POJ2082(简单堆栈)
- 见微知著----POJ2082(堆栈)
- 【堆栈】POJ2082-Terrible Sets-【容易题】
- poj2082栈的简单应用
- poj2082
- poj2082 stack
- 堆栈的简单实现
- 堆 、堆栈 简单理解
- 简单链表堆栈
- 堆栈 简单介绍
- 简单堆栈类
- Java堆栈简单介绍
- HDU1237 简单计算器【堆栈】
- 简单理解Java堆栈
- Java堆栈简单实现
- 堆栈的简单介绍
- POJ2082 最大矩形面积
- poj2082单调栈
- Ajax在跨域情况下async:false失效
- poj2965_refrigerator(BFS+枚举)
- 测试caffe中的net
- 【 同 余 定 理 (补充)】
- 面试经历(不断更新)
- POJ2082(简单堆栈)
- 面向对象练习
- 使用YYText-文本蓝色文字点击实现超链接跳转
- Duilib的消息传递机制
- MapReduce技术的初步了解与学习
- POJ 3047 蔡勒公式
- LINUX下GDB调试
- 关于java基本数据类型中的枚举
- Git图形化界面客户端大汇总