• hdu 2602(经典01背包)


    Bone Collector

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 57334    Accepted Submission(s): 23933

    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
    01背包 
    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<cstring>
    #define N 10000
    typedef long long ll;
    using namespace std;
    int value[N],vloume[N];
    int dp[N];
    int main()
    {
        int t;
        scanf("%d",&t);
        int n,v;
        while(t--)
        {
            memset(value,0,sizeof(value));
            memset(vloume,0,sizeof(vloume));
            memset(dp,0,sizeof(dp));
            scanf("%d%d",&n,&v);
            for(int i=0;i<n;i++)
                scanf("%d",&value[i]);
            for(int i=0;i<n;i++)
                scanf("%d",&vloume[i]);
            for(int i=0;i<n;i++)
            {
                for(int j=v;j>=vloume[i];j--)
                {
                    dp[j]=max(dp[j],dp[j-vloume[i]]+value[i]);
                }
            }
            printf("%d
    ",dp[v]);
        }
    }
    
  • 相关阅读:
    php Composer 报ssl证书错误
    centos svn服务器安装
    nginx配置 php 单入口
    centos nginx 安装
    Zend Studio的配置和使用
    不要让别人笑你不能成为程序员
    10个用于Web开发的最好 Python 框架
    分析和解析PHP代码的7大工具
    php模拟用户自动在qq空间发表文章的方法
    PHP中实现MySQL嵌套事务的两种解决方案
  • 原文地址:https://www.cnblogs.com/Aa1039510121/p/6501468.html
Copyright © 2020-2023  润新知