zoukankan      html  css  js  c++  java
  • Problem Q

    Problem Description
    Many years ago , in Teddy’s hometown there was a man who was called “Bone Collector”. This man like to collect varies of bones , such as dog’s , cow’s , also he went to the grave …
    The bone collector had a big bag with a volume of V ,and along his trip of collecting there are a lot of bones , obviously , different bone has different value and different volume, now given the each bone’s value along his trip , can you calculate out the maximum of the total value the bone collector can get ?
    Problem <wbr>Q


    Input
    The first line contain a integer T , the number of cases.
    Followed by T cases , each case three lines , the first line contain two integer N , V, (N <= 1000 , V <= 1000 )representing the number of bones and the volume of his bag. And the second line contain N integers representing the value of each bone. The third line contain N integers representing the volume of each bone.

    Output
    One integer per line representing the maximum of the total value (this number will be less than 231).

    Sample Input
    1
    5 10
    1 2 3 4 5
    5 4 3 2 1

    Sample Output
    14
    题意:给出袋子的最大容量,和每个物品的价值和体积,求最多能装多少价值的物品;
    解题思路:最基本的01背包问题;
    感悟:今晚心情很不好。。。
    代码:

    #include
    #include
    #include
    #define maxn 1010
    using namespace std;
    int main()
    {
        //freopen("in.txt","r",stdin);
        long long t,n,v,date[maxn],V[maxn],dp[maxn];
        scanf("%lld",&t);
        while(t--)
        {
            memset(dp,0,sizeof dp);
            scanf("%lld%lld",&n,&v);
            for(int i=1;i<=n;i++)
                scanf("%lld",&date[i]);
            for(int i=1;i<=n;i++)
                scanf("%lld",&V[i]);
            for(int i=1;i<=n;i++)
                for(int j=v;j>=V[i];j--)
                {
                    dp[j]=max(dp[j],dp[j-V[i]]+date[i]);
                }
            printf("%d ",dp[v]);
        }
    }
  • 相关阅读:
    UVA 11354
    HDU 4081 Qin Shi Huang's National Road System 最小/次小生成树的性质
    UVA 10269 Adventure of Super Mario floyd dp
    UVA 11280 Flying to Fredericton 最短路DP
    【专题】树状数组
    【专题】Subsequence
    共享python代码模块
    完全背包
    POJ 3253 Fence Repair
    POJ 3069 Saruman's Army
  • 原文地址:https://www.cnblogs.com/wuwangchuxin0924/p/5781554.html
Copyright © 2011-2022 走看看