zoukankan      html  css  js  c++  java
  • bzoj1683[Usaco2005 Nov]City skyline 城市地平线

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1683

    1

    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;
    }
  • 相关阅读:
    20165312 我期望的师生关系
    zookeeper04---ZAB协议
    zookeeper03-集群搭建
    zookeeper02
    Zookeeper01
    防止重复提交
    手动抛出异常事务回滚问题
    redis-07主从复制
    redis06-事务
    Redis-05持久化
  • 原文地址:https://www.cnblogs.com/Acheing/p/6786427.html
Copyright © 2011-2022 走看看