bzoj1628 [Usaco2007 Demo]City skyline(单调栈)
2024-09-26 19:12:46
Description
Input
第一行给出N,W
第二行到第N+1行:每行给出二个整数x,y,输入的x严格递增,并且第一个x总是1
Output
输出一个整数,表示城市中最少包含的建筑物数量
Sample Input
10 26
1 1
2 2
5 1
6 3
8 1
11 0
15 2
17 3
20 2
22 1
1 1
2 2
5 1
6 3
8 1
11 0
15 2
17 3
20 2
22 1
INPUT DETAILS:
The case mentioned above
Sample Output
6
题目的$w$没有意义
我们发现高度$h$出现一次时,答案+1
$h$在一个先增后降的序列中出现两次时,显然答案也只要+1
那么我们可以设$ans=n$
考虑维护一个单调递增栈,当某个数出现2次时,$ans-1$即可
#include<iostream>
#include<cstdio>
#include<cstring>
#define re register
using namespace std;
int n,q,h,w,st[],tp,ans;
int main(){
scanf("%d%d",&n,&w); ans=n;
for(re int i=;i<=n;++i){
scanf("%d%d",&q,&h);
while(tp&&st[tp]>h) --tp;
if(st[tp]==h) --ans;
else st[++tp]=h;
}printf("%d",ans);
return ;
}
最新文章
- DBCP连接池配置示例
- 【5集iCore3_ADP演示视频】5-2 iCore3应用开发平台上电及注意事项
- js中创建数组的方法
- SQL Server认证培训与考试
- zookeeper 笔记
- MVC + EF + Bootstrap 2 权限管理系统入门级(附源码)
- NOI 1.7编程基础之字符串(35题)
- XBox 开发者大会
- TI CC2541的整体目标
- MySQL mysqldump数据导出详解 --dump-slave 注意事项
- (转载)Android开发者必知的开发资源
- jquery $.ajax $.get $.post的区别
- sql,nosql
- Codeforces#355
- Java对象嵌套
- mock详解
- hadoop 修改datanode balance带宽使用限制
- you do not have permission to pull from the repository解决方法
- asp.net core合并压缩资源文件(转载)
- MySQL三种备份
热门文章
- Receiver type for instance message is a forward
- 《C#高级编程》学习笔记------抗变和协变
- MQTT的学习研究(十)【转】mosquitto——一个开源的mqtt代理
- flask框架实战项目架构
- 使用FileZilla向linux系统上传文件
- dubbo用途介绍
- OC开发_Storyboard——iPad开发
- MacBook Pro Retina 安装WIN7 - 对抗模糊及其它
- PL/SQL编程基础(五):异常处理(EXCEPTION)
- 。。。。。。不带http https : 不报错 spring boot elasticsearch rest