最大连续矩形面积(栈实现)
来源:互联网 发布:java d 系统参数 编辑:程序博客网 时间:2024/04/28 10:14
#include<iostream>#include<stack>using namespace std;struct Node{int w,h;};int main(){int n;while(cin>>n&&n!=-1){stack<Node>s;Node* rect=new Node[n+2];int i;int total_w,cur_area,max_area=0;for(i=0;i<n;i++){cin>>rect[i].w>>rect[i].h;if(s.empty())s.push(rect[i]);else{if(rect[i].h>=s.top().h)s.push(rect[i]);else{total_w=cur_area=0;while(!s.empty()){if(rect[i].h<s.top().h){ total_w+=s.top().w; cur_area=total_w*s.top().h; if(cur_area>max_area) max_area=cur_area; s.pop();}else break;}total_w+=rect[i].w;//加上将要入栈的元素的宽度rect[i].w=total_w;//合并成新的矩形s.push(rect[i]);}}}total_w=cur_area=0;while(!s.empty()){total_w+=s.top().w;cur_area=total_w*s.top().h;if(cur_area>max_area)max_area=cur_area;s.pop();}cout<<max_area<<endl;delete []rect;}return 0;}
0 0
- 最大连续矩形面积(栈实现)
- 最大连续矩形面积
- 最大的连续矩形面积
- poj2082 连续矩形最大面积
- 用单调栈解决最大连续矩形面积问题
- poj 2559 求连续的最大矩形面积(也可用于ccf最大连续矩形面积)
- poj2559(单调栈)最大矩形面积
- HDOJ 最大矩形面积 栈
- 求直方图中最大矩形面积(C语言实现)
- 关于求一段最大的连续矩形面积
- POJ2559 POJ2082 POJ3494(最大矩形面积 单调栈)
- 51nod 1102 面积最大的矩形(单调栈)
- POJ2082 最大矩形面积 单调栈
- POJ2104 最大矩形面积 单调栈
- 找出最大矩形面积(枚举)
- 最大矩形面积问题
- 【最大子矩形】面积
- 【最大子矩形】面积
- 【.net深呼吸】非 Web 项目使用缓存
- python 正则表达式
- Tomcat7.0源码分析——生命周期管理
- JAVA使用JNI调用C++动态链接库
- APP server 使用httpclient调用第三方环信的server rest接口获取token
- 最大连续矩形面积(栈实现)
- iOS开发技巧-tableView去掉多余的空行分割线,自定义Cell分割线
- Java学习从菜鸟变大鸟之一 hashCode()和equals()的本质区别和联系
- spark ML 使用Word2Vec
- PowerDesigner使用心得
- 数据结构实验之栈三:后缀式求值
- 还是畅通工程(MST)
- Android 非静态内部类导致的内存泄露(非static内部类)
- listview选中高亮,选中栏目变颜色的一种最简单办法