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
  • 相关阅读:
    python 数据分析3
    python 数据分析2
    Python 数据分析1
    Python18 Django 基础
    Python 17 web框架&Django
    一只救助犬的最后遗言
    With As 获取 id parentId 递归获取所有
    分布式事物
    div 浮动框
    sql时间比较
  • 原文地址:https://www.cnblogs.com/naix-x/p/3669245.html
Copyright © 2011-2022 走看看