51nod 1562 玻璃切割 (set)
#include<stdio.h>
#include<iostream>
#include<set>
using namespace std;
typedef long long LL; const int maxn = ;
LL ans[maxn];
int x[maxn];
char c[maxn];
set<int> row,col;
set<int>:: iterator it; int main()
{
int w, h, n, maxr, maxc;
while(~scanf("%d%d%d", &w, &h, &n))
{
maxr = maxc = ;
row.clear();col.clear();
row.insert();row.insert(h);
col.insert();col.insert(w);
for(int i = ;i < n;i++){
scanf("%*c%c%d", &c[i], &x[i]);
if(c[i] == 'H') row.insert(x[i]);
else col.insert(x[i]);
}
int l, r;
for(it = row.begin();it != row.end();){
l = *it;
it++;
r = *it;
maxr = max(maxr, r-l);
}
for(it = col.begin();it != col.end();){
l = *it;
it++;
r = *it;
maxc = max(maxc, r-l);
}
for(int i = n-;i >= ;i--){
ans[i] = 1LL*maxr*maxc;
if(c[i] == 'H'){
it = row.lower_bound(x[i]);
it--;
l = *it;
it++;it++;
r = *it;
maxr = max(maxr, r-l);
row.erase(x[i]);
}
else{
it = col.lower_bound(x[i]);
it--;
l = *it;
it++;it++;
r = *it;
maxc = max(maxc, r-l);
col.erase(x[i]);
}
}
for(int i = ;i < n;i++)
printf("%lld\n", ans[i]);
}
return ;
}
51nod 1562 玻璃切割 (set)的更多相关文章
- 51nod 1562 玻璃切割
1562 玻璃切割 http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1562 题目来源: CodeForces 基准时间 ...
- 51nod 1562 玻璃切割 (STL map+一点点的思考)
1562 玻璃切割 题目来源: CodeForces 基准时间限制:1.5 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 现在有一块玻璃,是长方形的(w 毫米× h 毫米),现在要 ...
- AC日记——玻璃切割 51nod 1562
玻璃切割 思路: 并查集: 离线操作: 先把每次切割都存下来: 然后从后面不断合并切割: 然后每次更新最大长和宽: 记录答案: 要开longlong: 来,上代码 #include <cstdi ...
- GFF 和 OGS 这两种触摸屏谁更好?
我将从成本分析.制程分析.用户体验三个方面来回答楼主的问题.GFF的触摸屏从字面上翻译过来,就是一层玻璃cover,两层film构成的触摸屏.其中,玻璃cover作为整个手机的coverlens,从外 ...
- 51nod 1117 聪明的木匠 (贪心)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1117 跟挑战程序书上例题一样,将要切割的n断木板,分别对应二叉树树的叶子 ...
- 51nod 1117 贪心
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1117 1117 聪明的木匠 题目来源: 河北大学算法艺术协会 基准时间限 ...
- PHP搭建大文件切割分块上传功能
背景 在网站开发中,文件上传是很常见的一个功能.相信很多人都会遇到这种情况,想传一个文件上去,然后网页提示"该文件过大".因为一般情况下,我们都需要对上传的文件大小做限制,防止出现 ...
- 任意多边形切割/裁剪(附C#代码实现)
本实现主要参考了发表于2003年<软件学报>的<一个有效的多边形裁剪算法>(刘勇奎,高云,黄有群)这篇论文,所使用的理论与算法大都基于本文,对论文中部分阐述进行了详细解释,并提 ...
- Nginx 访问日志轮询切割
Nginx 访问日志轮询切割脚本 #!/bin/sh Dateformat=`date +%Y%m%d` Basedir="/application/nginx" Nginxlog ...
随机推荐
- System.IO.File类和System.IO.FileInfo类
1.System.IO.File类 ※文件create, copy,move,SetAttributes,open,exists ※由于File.Create方法默认向所有用户授予对新文件的完全读写. ...
- (转)CentOS6.5安装Darwin Streaming Server搭建RTSP流媒体服务器
参考: 1,CentOS6.5安装Darwin Streaming Server搭建RTSP流媒体服务器 http://www.yimiju.com/articles/567.html
- Struts status
#status.odd 是否奇数行 #status.count 当前行数 #status.index 当前行的序号,从0开始[#status.count=# ...
- zoom:1
zoom这个特性是IE特有的属性. zoom:1;一般是拿来解决IE6的子元素浮动时候父元素不随着自动扩大的问题,功能相当于overflow:auto,同样也可以用height:1%来代替zoom ...
- win8系统在安装软件时安装framework3.5失败的解决办法
win8系统在,许多软件都需求安装framework3.5,但是很多用户都是安装失败,联网失败,据网上的许多人说有用cmd输入命令,然后到100%,就会成功安装framework3.5(如这个方法:w ...
- html5--3.15 textarea元素
html5--3.15 textarea元素 学习要点 掌握textarea元素的使用 textarea元素 用来建立多行输入文本框 元素标签中的内容将一文本框默认值的形式呈现 不仅可以用在表单中,也 ...
- git学习笔记(上)
1 安装 win安装 地址 安装之后自报家门 $ git config --global user.name "Your Name" $ git config --global u ...
- mysql函数之九:MySql取得日期(前一天、某一天)
取得当天: SELECT curdate(); mysql> SELECT curdate();+------------+| curdate() |+------------+| 2013- ...
- bzoj4289
最短路 很容易想到边和边之间连边,但是这样菊花图就完蛋了 我们想办法优化一下,能不能不要每条边都连. 考虑查分,把一个点的出边串起来,这样就行了,每条无向边拆成两条就能保证了 #include< ...
- TCP 错误代码 10013: 试图以其访问权限所禁止的方式访问套接字
大家遇到的问题可能是登录没反应,这时,大家要充分利用调试工具,调试工具可能会提示下面错误: 未能连接到 net.tcp://swk-pc:4502/chatservice.svc.连接尝试的持续时间为 ...