• BZOJ 1071 组队


    额。。。。。。

    长跪不起。。。。。

    他是怎么做到两个指针扫两个数组还不重不漏的统计完的。。。。。。。

    orzorzorzorzorzorzorzorzorz

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #define maxn 5050
    using namespace std;
    int n,a,b,c,ans=0;
    struct pnt
    {
        int h,s;
        long long sum;
    }p1[maxn],p2[maxn];
    bool cmp1(pnt x,pnt y) {return x.s<y.s;}
    bool cmp2(pnt x,pnt y) {return x.sum<y.sum;}
    int main()
    {
        scanf("%d%d%d%d",&n,&a,&b,&c);
        for (int i=1;i<=n;i++)
        {
            scanf("%d%d",&p1[i].h,&p1[i].s);
            p1[i].sum=(long long)a*p1[i].h+b*p1[i].s;
            p2[i]=p1[i];
        }
        sort(p1+1,p1+n+1,cmp1);sort(p2+1,p2+n+1,cmp2);
        for (int i=1;i<=n;i++)
        {
            int l=0,r=0,sum=0,minh=p1[i].h,maxh=minh+c/a;
            for (int j=1;j<=n;j++)
            {
                int mins=p1[j].s;long long now=(long long)a*minh+b*mins+c;
                while (r<n && p2[r+1].sum<=now)
                {
                    r++;
                    if (p2[r].h>=minh && p2[r].h<=maxh) sum++; 
                }
                while (l<n && p1[l+1].s<mins) 
                {
                    l++;
                    if (p1[l].h>=minh && p1[l].h<=maxh) sum--;
                }
                ans=max(ans,sum);
            }
        }
        printf("%d
    ",ans);
        return 0;
    }
  • 相关阅读:
    因式分解
    插入排序算法
    小技巧(杂乱篇章)
    错误的模糊应用(类继承问题)
    同源策略和跨域解决方案
    Django admin源码剖析
    Python中该使用%还是format来格式化字符串?
    Django的认证系统
    Django中间件
    Django form表单
  • 原文地址:https://www.cnblogs.com/ziliuziliu/p/6549110.html
Copyright © 2020-2023  润新知