• 洛谷 P2663 越越的组队


    题目描述

    班级要组织一场综合能力竞赛,全班同学(N个,N是偶数)分成两队互相竞争。老师找到了越越并给了越越一张全班同学综合能力测试的成绩,要求他从全班同学中选出一半(他自己也可能被选),并要求这些同学综合能力测试的成绩之和在不超过班级总分一半的前提下尽量达到最高。这样分成的两队实力是最平均的。越越堆着满脸的笑容找到了你,你就帮他写一个程序吧。

    输入输出格式

    输入格式:

    第一行:学生个数N;第二行开始的N行每行一个同学的综合能力测试的成绩。

    输出格式:

    输出一个数:N/2个同学的综合能力测试的成绩之和在不超过班级总分一半的前提下尽量达到的最高值。

    输入输出样例

    输入样例#1:
    8
    77
    77
    56
    77
    84
    77
    56
    46
    输出样例#1:
    273

    说明

    样例解释:总分550;总分的一半275;选择4名同学56 77 84 56 77 达到总分273;273是不超过275的最大值。(另一队的和是277)两队实力最接近。

    01背包

    屠龙宝刀点击就送

    #include <cstdio>
    
    int f[15000],sum,n,s[150];
    int max(int a,int b) {return a>b?a:b;}
    int main()
    {
        scanf("%d",&n);
        for(int i=1;i<=n;++i) scanf("%d",&s[i]),sum+=s[i];
        int Limit=sum%2==0?sum/2:sum/2+1;
        for(int i=1;i<=n;++i)
         for(int j=Limit;j>=s[i];--j)
          f[j]=max(f[j-s[i]]+s[i],f[j]);
        printf("%d
    ",f[Limit]);
        return 0;
    }
    我们都在命运之湖上荡舟划桨,波浪起伏着而我们无法逃脱孤航。但是假使我们迷失了方向,波浪将指引我们穿越另一天的曙光。
  • 相关阅读:
    HUNAN 11562 The Triangle Division of the Convex Polygon(大卡特兰数)
    HUNAN 11560 Yangyang loves AC(二分+贪心)
    CSU 1425 Prime Summation
    CSU 1424 Qz’s Maximum All One Square
    一个奇怪的语法问题
    CSU 1416 Practical Number
    CSU 1412 Line and Circles
    Android第一篇
    强大到无与伦比的Graphviz
    CSU 1355 地雷清除计划
  • 原文地址:https://www.cnblogs.com/ruojisun/p/7428361.html
Copyright © 2020-2023  润新知