POJ 2082 Terrible Sets(栈)
Description
Input
Output
题目大意:有n个并列的长方形,找出一个长方形,使其落下这n个长方形上,并且面积最大。
思路:不会讲……给个tips,有一些答案不可能成为最大矩形就不用算了。
代码(94MS):
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <stack>
using namespace std; const int MAXN = ; struct Rectangle {
int w, h;
void read() {
scanf("%d%d", &w, &h);
}
}; Rectangle a[MAXN], t;
int ans, n; void solve() {
ans = ;
int last = ;
stack<Rectangle> stk;
for(int i = ; i < n; ++i) {
t.read();
if(last < t.h) stk.push(t);
else {
int total = ;
while(!stk.empty() && stk.top().h > t.h) {
total += stk.top().w;
ans = max(ans, stk.top().h * total);
stk.pop();
}
t.w += total;
stk.push(t);
}
last = t.h;
}
int total = ;
while(!stk.empty()) {
total += stk.top().w;
ans = max(ans, stk.top().h * total);
stk.pop();
}
} int main() {
while(scanf("%d", &n) != EOF) {
if(n == -) break;
solve();
printf("%d\n", ans);
}
}
POJ 2082 Terrible Sets(栈)的更多相关文章
- POJ 2082 Terrible Sets
Terrible Sets Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 2747 Accepted: 1389 Des ...
- POJ 2082 Terrible Sets(单调栈)
[题目链接] http://poj.org/problem?id=2082 [题目大意] 给出一些长方形下段对其后横向排列得到的图形,现在给你他们的高度, 求里面包含的最大长方形的面积 [题解] 我们 ...
- stack(单调栈) POJ 2082 Terrible Sets
题目传送门 题意:紧贴x轴有一些挨着的矩形,给出每个矩形的长宽,问能组成的最大矩形面积为多少 分析:用堆栈来维护高度递增的矩形,遇到高度小的,弹出顶部矩形直到符合递增,顺便计算矩形面积,且将弹出的宽度 ...
- PKU 2082 Terrible Sets(单调栈)
题目大意:原题链接 一排紧密相连的矩形,求能构成的最大矩形面积. 为了防止栈为空,所以提前加入元素(0,0). #include<cstdio> #include<stack> ...
- POJ-2081 Terrible Sets(暴力,单调栈)
Terrible Sets Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 4113 Accepted: 2122 Descrip ...
- POJ2082 Terrible Sets
Terrible Sets Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 5067 Accepted: 2593 Des ...
- Terrible Sets
Terrible Sets Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 3017 Accepted: 1561 Des ...
- poj2082 Terrible Sets(单调栈)
Description Let N be the set of all natural numbers {0 , 1 , 2 , . . . }, and R be the set of all re ...
- poj 2082 单调栈 ***
和poj2082差不多,加了一个宽度的条件 #include<iostream> #include<string> #include<cmath> #include ...
随机推荐
- deep learning学习记录三
deep learning,这几年有多火!! imagenet比赛,大家今年都是基于去年的基础上改进和应用的,效果比去年提升当然. 在deep learning方向,hinton, benjio, l ...
- Spring Boot应用的测试——Mockito
Spring Boot应用的测试——Mockito Spring Boot可以和大部分流行的测试框架协同工作:通过Spring JUnit创建单元测试:生成测试数据初始化数据库用于测试:Spring ...
- Interview Question Overload、Refactoring和Override?
Overload Overload我们百度翻译知道是超载的意思,不过我们一般称其为重载,在这里我们不纠结于它的翻译,我们来讲讲重载是什么意思,重载的好处.在下面我们以Overload来代表重载(为了记 ...
- 买手机时几GB+几GB啥意思
48GB 就是你每次下载手机软件呀.浏览图片呀.这些东西都放在48G里.你每次查看手机内存,就会看到你的48G用了多少.但是你什么时候看到你的4GB用了多少,都是那些360加速球呀提示你手机内存占用过 ...
- Swift_字典详解
Swift_字典详解 点击查看源码 初始化 fileprivate func testInit() { //空字典 var dic = [String:String]() print(dic) dic ...
- 重置mysql5.7.25临时密码
安装完mysql之后,登陆以后,不管运行任何命令,总是提示这个:mac mysql error You must reset your password using ALTER USER statem ...
- 最长公共子序列Lcs (51Nod - 1006)
20180604 11:28 给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的). 比如两个串为: abcicba abdkscab ab是两个串的子序列,ab ...
- Mysql8.0 3306端口无法远程连接
在阿里云上搭建MySql8.0数据库服务,在阿里云上可以成功连接登陆使用,但用自己的电脑远程连接时却无法成功连接 经过资料查找,找出原因如下: 1.首先通过查看MySQL的的用户信息 可以看到host ...
- 让微信内置浏览器兼容clipboard.js 复制粘贴 ios 安卓
<!--js copy事件--><script type="text/javascript" src="/static/js/clipboard.min ...
- java程序员所必须掌握的内容
以下内容有待细化,并用于考察员工的水平! 从低的往高级的说. 初级 1.掌握java语法 oop+io+网络 2.基本的数据结构 3.基本的算法-例如排序,合并 4.基本的几个javaee框架 spr ...