博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj1113[Poi2008]海报PLA*
阅读量:7281 次
发布时间:2019-06-30

本文共 864 字,大约阅读时间需要 2 分钟。

题意:

N个矩形,排成一排。现在希望用尽量少的矩形海报盖住它们。不能盖到矩形之外的地方。n≤250000。

题解:

发现如果有一对矩形高度相等,且中间的矩形高度都比它们高,那么就可以省下一个矩形海报。故可以用个单调递增的栈维护。

代码:

1 #include 
2 #include
3 #include
4 #include
5 #define inc(i,j,k) for(int i=j;i<=k;i++) 6 #define maxn 10010 7 using namespace std; 8 9 inline int read(){10 char ch=getchar(); int f=1,x=0;11 while(ch<'0'||ch>'9'){
if(ch=='-')f=-1; ch=getchar();}12 while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();13 return f*x;14 }15 stack
st; int n,ans;16 int main(){17 n=read();18 inc(i,1,n){19 int x=read(),y=read(); while(!st.empty()&&y<=st.top()){
if(y==st.top())ans++; st.pop();} st.push(y);20 }21 printf("%d",n-ans); return 0;22 }

 

20160919

转载于:https://www.cnblogs.com/YuanZiming/p/5886809.html

你可能感兴趣的文章
SQL 批量插入和更改数据
查看>>
Struts2.X整合Spring
查看>>
虚拟专用网络×××(Virtual Private Notwork)
查看>>
JAVA集合类之ArrayList和LinkedList性能比较
查看>>
The content of elements must consist of well-formed character data or markup解决方法
查看>>
第二章 配置iptables防火墙(一)
查看>>
diff
查看>>
PCAP文件头
查看>>
MySQL 数据库备份
查看>>
数值的每位数相加最终返回各位数 Add Digits
查看>>
关于 文件系统 用户管理的基础练习题
查看>>
php防哈希ddos***
查看>>
初学android的第一个习作
查看>>
初入行运维从业人员也来谈谈IT运维
查看>>
linux下最强大的进程监视器htop的日常使用
查看>>
shell脚本定时刷新微信token实例
查看>>
Cluster node
查看>>
我的友情链接
查看>>
IFTTT Evernote 自动生成笔记
查看>>
man查询命令后面的数字
查看>>