bzoj1683[Usaco2005 Nov]City skyline 城市地平线
Posted Acheing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bzoj1683[Usaco2005 Nov]City skyline 城市地平线相关的知识,希望对你有一定的参考价值。
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1683
Input
第1行:2个用空格隔开的整数N和W.
第2到N+1行:每行包括2个用空格隔开的整数x,y,其意义如题中所述.输入中的x严格递增,并且第一个z总是x.
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
INPUT DETAILS:
The case mentioned above
Sample Output
6
感想
我困了!要睡觉!
题解
水题,只需维护单调递增栈即可
#include<cstdio> #include<algorithm> using namespace std; inline int read(){ int x=0,f=1;char ch=getchar(); while(ch<‘0‘||ch>‘9‘){if(ch==‘-‘)f=-1;ch=getchar();} while(ch>=‘0‘&&ch<=‘9‘){x=x*10+ch-‘0‘;ch=getchar();} return x*f; } int n,m,ans,top,h[50005],st[50005]; int main(){ n=read();m=read(); for(int i=1;i<=n;i++)h[i]=read(),h[i]=read(); ans=n; for(int i=1;i<=n;i++){while(st[top]>h[i])top--;if(st[top]==h[i])ans--;else st[++top]=h[i];} printf("%d",ans); return 0; }
以上是关于bzoj1683[Usaco2005 Nov]City skyline 城市地平线的主要内容,如果未能解决你的问题,请参考以下文章
bzoj1742[Usaco2005 nov]Grazing on the Run 边跑边吃草*&&bzoj3074[Usaco2013 Mar]The Cow Run*
BZOJ1741: [Usaco2005 nov]Asteroids 穿越小行星群
bzoj 1741: [Usaco2005 nov]Asteroids 穿越小行星群最大点覆盖
BZOJ1742[Usaco2005 nov]Grazing on the Run 边跑边吃草