zoukankan      html  css  js  c++  java
  • Codeforces Beta Round #4 (Div. 2 Only)

    A题,水题,准1Y,第一次CE了。。CF里,CE没有罚时。。

    B题,直接模拟。。

    #include <cstdio>
    #include <string>
    #include <cstring>
    #include <cmath>
    #include <cstdlib>
    #include <ctime>
    #include <queue>
    #include <vector>
    #include <algorithm>
    #include <iostream>
    using namespace std;
    int minz[31],maxz[31],ans[31];
    int main()
    {
        int d,sum,i,temp;
        scanf("%d%d",&d,&sum);
        temp = 0;
        for(i = 0; i < d; i ++)
        {
            scanf("%d%d",&minz[i],&maxz[i]);
            ans[i] = minz[i];
            temp += minz[i];
        }
        if(temp > sum)
            printf("NO
    ");
        else
        {
            for(i = 0; i < d; i ++)
            {
                if(temp == sum) break;
                if(sum - temp > maxz[i]-minz[i])
                {
                    ans[i] = maxz[i];
                    temp += maxz[i] - minz[i];
                }
                else
                {
                    ans[i] += sum - temp;
                    temp = sum;
                }
            }
            if(temp < sum)
                printf("NO
    ");
            else
            {
                printf("YES
    ");
                for(i = 0; i < d; i ++)
                    printf("%d ",ans[i]);
            }
        }
        return 0;
    }
    View Code

    C题,1Y.不能再水。。

    D题,无聊排序DP。2Y,我不能忍。。

    #include <cstdio>
    #include <string>
    #include <cstring>
    #include <cmath>
    #include <cstdlib>
    #include <ctime>
    #include <queue>
    #include <vector>
    #include <map>
    #include <algorithm>
    #include <iostream>
    using namespace std;
    struct node
    {
        int w,h,id;
    }p[5100];
    int flag[5100];
    int n;
    int cmp(node a,node b)
    {
        if(a.w == b.w)
        return a.h > b.h;
        else
        return a.w > b.w;
    }
    int dp[5100];
    void dfs(int x)
    {
        int i;
        if(dp[x] == 1) return ;
        for(i = 0;i < x;i ++)
        {
            if(p[i].w > p[x].w&&p[i].h > p[x].h&&dp[i]+1 == dp[x])
            {
                printf("%d ",p[i].id);
                dfs(i);
                break;
            }
        }
    }
    int main()
    {
        int i,maxz,j;
        scanf("%d",&n);
        for(i = 0;i <= n;i ++)
        {
            scanf("%d%d",&p[i].w,&p[i].h);
            p[i].id = i;
        }
        sort(p,p+n+1,cmp);
        for(i = 0;i <= n;i ++)
        {
            maxz = 0;
            for(j = 0;j < i;j ++)
            {
                if(p[j].w > p[i].w&&p[j].h > p[i].h)
                maxz = max(maxz,dp[j]);
            }
            dp[i] = maxz + 1;
        }
        for(i = 0;i <= n;i ++)
        {
            if(p[i].id == 0)
            {
                printf("%d
    ",dp[i]-1);
                dfs(i);
                break;
            }
        }
        return 0;
    }
    View Code
  • 相关阅读:
    hdu3874
    spoj D-query
    hdu4348
    hdu4417
    hdu2665
    [LUOGU] P1057 传球游戏
    [CODEVS] 2193 数字三角形WW
    [CODEVS] 2189 数字三角形W
    [模板] 线段树
    [模板] 树状数组
  • 原文地址:https://www.cnblogs.com/naix-x/p/3669245.html
Copyright © 2011-2022 走看看