• 1606: [Usaco2008 Dec]Hay For Sale 购买干草


    Description

        约翰遭受了重大的损失:蟑螂吃掉了他所有的干草,留下一群饥饿的牛.他乘着容量为C(1≤C≤50000)个单位的马车,去顿因家买一些干草.  顿因有H(1≤H≤5000)包干草,每一包都有它的体积Vi(l≤Vi≤C).约翰只能整包购买,
    他最多可以运回多少体积的干草呢?

    Input

        第1行输入C和H,之后H行一行输入一个Vi.

    Output

     
        最多的可买干草体积.

    Sample Input

    7 3 //总体积为7,用3个物品来背包
    2
    6
    5


    The wagon holds 7 volumetric units; three bales are offered for sale with
    volumes of 2, 6, and 5 units, respectively.

    Sample Output

    7 //最大可以背出来的体积
    题解:
    这道题就是01背包,只不过把它的价值和体积都看作v,套01模板即可。
    程序:
    #include<iostream>
    using namespace std;
    int c,h,v[1000000],f[1000000];
    int main()
    {
        cin>>c>>h;
        for (int i=1;i<=h;i++)
        {
        cin>>v[i];
        for (int j=c;j>=v[i];j--)
        if (f[j-v[i]]+v[i]>f[j]) f[j]=f[j-v[i]]+v[i];
        }   
        cout<<f[c]<<endl;
        return 0;
    }
  • 相关阅读:
    paip.解决Invalid byte 2 of 2byte UTF8 sequence.
    poj1157
    poj1258
    poj1160
    poj1113
    poj1159
    !!!GRETA正则表达式模板类库
    【原创】C#与C++的混合编程采用其中的第三种方法
    WinApi.cs
    C#:正则表达式30分钟入门教程
  • 原文地址:https://www.cnblogs.com/2014nhc/p/6217898.html
Copyright © 2020-2023  润新知