zoukankan      html  css  js  c++  java
  • [bzoj4721][noip2016]蚯蚓

    我艹这B题有毒。做法不说了我就想骂骂出题人还有评测姬。

    首先干啥卡STL的queue??我学C++招你惹你了?回回卡queue,一卡就是20多分。。shabi

    还有行尾空格咋的了,Presentation Error???行尾空格不会过滤掉吗?zhazha

    还有long long。你tm卡long long几个意思啊??就卡一个log(7e7)的常数连long long都卡?。。laji

    半个小时写完正解,两个小时调格式调乱七八糟的玩意。wocaosininainaio。。。

    自己写的也有些地方有毛病。

    1.第二问直接从三个队列里贪心选取,不用sort,会多log。

    2.改格式的时候细节出现问题(我是sb吗)。

    3.mdzz,freopen没关。

    4.就COGS评测姬正常一点不卡PE。

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<queue>
    #include<cstring>
    #include<ctime>
    #include<algorithm>
    using namespace std;
    typedef long long ll;
    const int mxn=8000010;
    const int inf=(1<<31)-1;
    struct que{
        int q[mxn];
        int h,t;
        que(){
            memset(q,0,sizeof q);h=t=0;
        }
        int front(){
            return h==t?-inf:q[h+1];
        }
        void push(int x){
            q[++t]=x;
        }
        void pop(){
            h++;
        }
        bool empty(){
            return h==t;
        }
    }q1,q2,q3;
    inline int rd(){
        int r=0,c=getchar();
        while(!isdigit(c))c=getchar();
        while(isdigit(c))
        r=r*10+c-'0',c=getchar();
        return r;
    }
    int a[mxn];
    inline bool cmp(int a,int b){return a>b;}
    int main(){
        freopen("earthworm.in","r",stdin);
        freopen("earthworm.out","w",stdout);
        ll n=rd(),m=rd(),q=rd(),u=rd(),v=rd(),t=rd();
        for(int i=1;i<=n;i++)
        a[i]=rd();
        sort(a+1,a+n+1,cmp);
        for(int i=1;i<=n;i++)
        q1.push(a[i]);
        int l=0;
        for(int i=1;i<=m;i++){
            int x=q1.front();
            int y=q2.front();
            int z=q3.front();
            long long k;
            if(x>=y&&x>=z)q1.pop(),k=x;
            else if(y>=x&&y>=z)q2.pop(),k=y;
            else q3.pop(),k=z;
            k+=l;
            if(!(i%t))printf("%d ",k);
            ll k1=k*u/v,k2=k-k1;
            l+=q;
            q2.push(k1-l),q3.push(k2-l);
        }
        memset(a,0,sizeof a);
        puts("");
        for(int i=1;i<=n+m;i++){
            int x=q1.front();
            int y=q2.front();
            int z=q3.front();
            int k;
            if(x>=y&&x>=z)q1.pop(),k=x;
            else if(y>=x&&y>=z)q2.pop(),k=y;
            else q3.pop(),k=z;
            a[i]=k;
        }
        for(int i=1;i*t<=n+m;i++)
        printf("%d ",a[i*t]+l);
    }
    View Code

    附图骂人(欢迎大家来骂我菜)

  • 相关阅读:
    最优匹配问题
    树的最大独立集
    koa2学习(一)
    vue源码阅读(一)
    一直以为错的一个问题,记录一下
    关于 vuex 的使用忠告
    《javascript设计模式与开发实践》--- (单一职责原则)
    心累
    node 学习(二)
    node 学习(一)
  • 原文地址:https://www.cnblogs.com/orzzz/p/7541929.html
Copyright © 2011-2022 走看看