zoukankan      html  css  js  c++  java
  • AtCoder Regular Contest 082

    我都出了F了……结果并没有出E……atcoder让我差4分上橙是啥意思啊……

    C - Together

    题意:把每个数加1或减1或不变求最大众数。

    #include<cstdio>
    #include<algorithm>
    using namespace std;
     
     
    int read_p,read_ca;
    inline int read(){
        read_p=0;read_ca=getchar();
        while(read_ca<'0'||read_ca>'9') read_ca=getchar();
        while(read_ca>='0'&&read_ca<='9') read_p=read_p*10+read_ca-48,read_ca=getchar();
        return read_p;
    }
    int t[110000],n,a;
    int main(){
        n=read();
        for (int i=1;i<=n;i++){
            a=read();
            t[a]++;t[a+1]++;t[a+2]++;
        }
        a=0;
        for (int i=0;i<=100100;i++) if (t[i]>a) a=t[i];
        printf("%d
    ",a);
    }
    View Code

    D - Derangement

    题意:求把一个排列变成错排的最少操作数,操作是交换相邻俩位置。

    #include<cstdio>
    #include<algorithm>
    using namespace std;
     
     
    int read_p,read_ca;
    inline int read(){
        read_p=0;read_ca=getchar();
        while(read_ca<'0'||read_ca>'9') read_ca=getchar();
        while(read_ca>='0'&&read_ca<='9') read_p=read_p*10+read_ca-48,read_ca=getchar();
        return read_p;
    }
    int t[110000],n,a=0;
    int main(){
        n=read();
        for (int i=1;i<=n;i++){
            t[i]=read();
        }
        for (int i=1;i<n;i++)
        if (t[i]==i) a++,swap(t[i],t[i+1]);
        if (t[n]==n) a++;
        printf("%d
    ",a);
    }
    View Code

    E - ConvexScore

    题意:一个凸包的价值为其$2^{内部点数}$求所以凸包价值之和。

    题解:窝好蠢啊,居然没想到这个……$2^{内部点数}$其实就是把每个集合都统计了一遍,这样就只剩下直线的集合没被统计了。

    代码还没写(不想补题)

    F - Sandglass

    题意:一沙漏初始上边那个为a,下边为X-a,每秒上边向下边掉一个,一些时刻会把沙漏倒过来,问某时刻的状态。

    题解:反正就是个分段函数,而且只有3段。

    #include<cstdio>
    #include<algorithm>
    #define MN 110000
    #define int long long
    using namespace std;
    
    int read_p,read_ca;
    inline int read(){
        read_p=0;read_ca=getchar();
        while(read_ca<'0'||read_ca>'9') read_ca=getchar();
        while(read_ca>='0'&&read_ca<='9') read_p=read_p*10+read_ca-48,read_ca=getchar();
        return read_p;
    }
    int n,m,X,K,T[MN],la=0,Q,t,a,l[MN],r[MN],L[MN],R[MN];
    signed main(){
        X=read();
        K=read();
        l[0]=0;L[0]=0;r[0]=X;R[0]=X;
        for (int i=1;i<=K;i++){
            a=read();
            T[i]=a;
            l[i]=l[i-1];r[i]=r[i-1];
            L[i]=L[i-1]-(a-la);
            R[i]=R[i-1]-(a-la);
            if (L[i]<=R[i])
            if (R[i]<=0){
                l[i]=0;L[i]=X;r[i]=0;R[i]=X;
            }else{
                if (L[i]<0)
                l[i]-=L[i],
                L[i]=0;
                
                L[i]=X-L[i];R[i]=X-R[i];
            }else
            if (L[i]<=0){
                l[i]=0;L[i]=X;r[i]=0;R[i]=X;
            }else{
                if (R[i]<0)
                r[i]+=R[i],
                R[i]=0;
                
                L[i]=X-L[i];R[i]=X-R[i];
            }
            la=a;
        }
        
        /*for (int i=0;i<=K;i++)
        printf("%d %d %d %d %d
    ",i,l[i],r[i],L[i],R[i]);*/
        Q=read();
        for (int i=1;i<=Q;i++){
            t=read();a=read();
            int _l=0,_r=K,mid;
            while (_l<_r){
                if (T[mid=_l+_r+1>>1]<=t) _l=mid;else _r=mid-1;
            }
            t-=T[_l];
            if (a<=l[_l]) a=L[_l];else if (a>=r[_l]) a=R[_l];else if (L[_l]==R[_l]) a=L[_l];else
            if (L[_l]<R[_l]) a=L[_l]+(a-l[_l]);else a=L[_l]-(a-l[_l]);
            
            a-=t;
            if (a<0) a=0;
            
            if (_l&1) a=X-a;
            
            printf("%lld
    ",a);
        }
    }
    View Code
  • 相关阅读:
    ◆◆0[问题解决]REUSE_ALV_FIELDCATALOG_MERGE丢失catalog字段
    不同类型ALV的catalog数据转换[LVC_TRANSFER_TO_SLIS][LVC_TRANSFER_FROM_SLIS]
    ◆◆0ABAP ALV分类以及对应的函数,类小结
    [代码]如何在ALV头中显示Logo图片-[REUSE_ALV_GRID_DISPLAY]
    ◆◆0SALV-如何刷新显示
    ◆◆0[REUSE_ALV_GRID_DISPLAY_LVC]-显示单选按钮(radio button)
    ◆◆0[REUSE_ALV_GRID_DISPLAY_LVC]ALV中字段显示前导零(leading zero)
    ◆◆0[REUSE_ALV_GRID_DISPLAY_LVC]-显示布局按钮(layout button)
    [问题解决]ALV标准过滤功能失效
    ◆◆0SALV-设置SALV选择模式
  • 原文地址:https://www.cnblogs.com/Enceladus/p/7468155.html
Copyright © 2011-2022 走看看