• poj 3263 Tallest Cow


    一个压了很久的题目,确实很难想,看了别人的做法后总算明白了。

    首先要明白一点,因为题目说明了不会有矛盾,所以题目给出来的区间是不能相交的,否则是矛盾的。(原因自己想)

    然后既然区间只能是包含的,就很明显了,一个数被包含了几次它就要比最高的牛矮多少。

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    const int maxn=1e4+9;
    struct D
    {
        int l,r;
        bool operator <(const struct D & xx) const
        {
            if(l==xx.l)
            return r<xx.r;
            return l<xx.l;
        }
    }qry[maxn];
    int dp[maxn];
    int main()
    {
        int n,m,h,r;
        scanf("%d %d %d %d",&n,&m,&h,&r);
        for(int i=1;i<=r;i++)
        {
            scanf("%d %d",&qry[i].l,&qry[i].r);
            if(qry[i].l>qry[i].r)
            swap(qry[i].l,qry[i].r);
        }
        sort(qry+1,qry+1+r);
        qry[0].l=0;
        for(int i=1;i<=r;i++)
        {
            if(qry[i].l==qry[i-1].l&&qry[i].r==qry[i-1].r)
            continue;
            dp[qry[i].l+1]--;
            dp[qry[i].r]++;
        }
        int ret=0;
        for(int i=1;i<=n;i++)
        {
            ret+=dp[i];
            printf("%d
    ",ret+h);
        }
        return 0;
    }
    


  • 相关阅读:
    ProxySQL!像C罗一样的强大!
    zookeepr 临时节点
    JavaScript 的闭包用于什么场景
    JavaScript 的闭包用于什么场景
    JavaScript 的闭包用于什么场景
    JavaScript 的闭包用于什么场景
    随笔
    随笔
    随笔
    随笔
  • 原文地址:https://www.cnblogs.com/pangblog/p/3290153.html
Copyright © 2020-2023  润新知