zoukankan      html  css  js  c++  java
  • 【01背包】HDU 2602 Bone Collector (模板题)

    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 ?

    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

    Author

    Teddy

    Source

    HDU 1st “Vegetable-Birds Cup” Programming Open Contest
     
     
    思路:01背包裸题。01背包:有限的背包容量取最大的价值,每样东西选择取或不取
     
     1 #include <iostream>
     2 #include<cstdio>
     3 #include<algorithm>
     4 #include<cstring>
     5 #include<cmath>
     6 using namespace std;
     7 
     8 long long va[1005];
     9 int vo[1005];
    10 long long dp[1005];
    11 
    12 int main()
    13 {
    14     int T,n,v,i,j;
    15     scanf("%d",&T);
    16     while(T--)
    17     {
    18         scanf("%d%d",&n,&v);
    19         for(i=1;i<=n;i++)
    20             scanf("%lld",&va[i]);
    21         for(i=1;i<=n;i++)
    22             scanf("%d",&vo[i]);
    23         memset(dp,0,sizeof(dp));
    24         for(i=1;i<=n;i++)
    25         {
    26             for(j=v;j>=vo[i];j--)
    27             {
    28                 dp[j]=max(dp[j],dp[j-vo[i]]+va[i]);
    29             }
    30         }
    31         printf("%lld
    ",dp[v]);
    32     }
    33     return 0;
    34 }
  • 相关阅读:
    maven安装
    VMware workstation安装报Microsoft Runtime DLL和Intel VT-x错误
    jQuery的拾色器
    Distributed Representations of Words and Phrases and their Compositionality
    Deep Learning for Natural Language Processeing:vector space models
    Deep Learning for Natural Language Processeing : Convex Optimization
    Java Web的一些基础知识
    Java Web1: 邮件发送系统(JSP+Servlet+JavaBean)
    学习效率与方法
    Deep Learning6: Convolution and pooling
  • 原文地址:https://www.cnblogs.com/Annetree/p/6058435.html
Copyright © 2011-2022 走看看