• [bzoj1067][SCOI2007]降雨量


    呕......这道题直接把我的提交页面刷屏了,一页的红色

    #include<iostream>
    #include<cstdio>
    #define N 65536
    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;
    struct YEAR{int num,r;}s[N];
    int T[N*2+5];
    
    int query(int l,int r)
    {
    //    cout<<"query"<<l<<" "<<r<<" ";
        if(l>r)return 0;
        int sum=0;
        for(l+=N-1,r+=N+1;l^r^1;l>>=1,r>>=1)
        {
            if(~l&1)sum=max(sum,T[l+1]);
            if( r&1)sum=max(sum,T[r-1]);
        }
        //cout<<sum<<endl;
        return sum;
    }
    
    int find(int x)
    {
        int l=1,r=n,mid=(l+r)>>1,ans=0;;
        for(;l<=r;mid=(l+r)>>1)
        {
            if(s[mid].num>=x) ans=mid,r=mid-1;
            else l=mid+1;
        }
    //    cout<<"find"<<x<<" "<<s[ans].num<<endl;
        return ans;
    }
    
    int main()
    {
        n=read();
        for(int i=1;i<=n;i++)
        {s[i].num=read();T[i+N]=s[i].r=read();}s[++n].num=2000000000;
        m=read();for(int i=N;i;i--)T[i]=max(T[i<<1],T[i<<1|1]);
        for(int i=1;i<=m;i++)
        {
            int y=read(),x=read(),xx=find(x),yy=find(y),ans;xx-=(s[xx].num!=x);
            if(xx<yy)puts("maybe");
            else 
            {
                ans=query(yy+(s[yy].num==y),xx-(s[xx].num==x));
                if(s[yy].num==y&&s[yy].r<=ans) puts("false");
                else if(s[xx].num==x&&s[xx].r<=ans) puts("false");
                else if(s[yy].num==y&&s[xx].num==x&&s[xx].r>s[yy].r) puts("false");
                else if(x-y==xx-yy&&s[xx].num==x&&s[yy].num==y) puts("true");
                else puts("maybe");    
            }
        }
        return 0;
    }
  • 相关阅读:
    id4的数据库持久化写法
    docker 加速镜像的地址收集
    mongodb 的ID转换实体要注意的地方
    net core3.0 常用封装状态码总结
    JAVA8—————StringJoiner类
    BigDecimal加减乘除
    mysql 查询奇偶数
    Java遍历Map对象的方式
    Java中List, Integer[], int[]的相互转换
    springboot 读取resources下的文件然后下载
  • 原文地址:https://www.cnblogs.com/FallDream/p/bzoj1067.html
Copyright © 2020-2023  润新知