zoukankan      html  css  js  c++  java
  • HDU 2602 Bone Collector(01背包裸题)

    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 thereare 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 2 31).

    Sample Input:

    1
    5 10
    1 2 3 4 5
    5 4 3 2 1

    Sample Output:

    14


    思路:

    动规01 背包模板题,真的是裸的不能再裸了。

    代码:

    #include<stdio.h>
    #include<iostream>
    #include<queue>
    #include<cstring>
    #include<cmath>
    
    using namespace std;
    
    #define MAXN 1005
    
    int N,V;
    int vol[MAXN],val[MAXN];
    int dp[MAXN];
    
    int main()
    {
    	int T;
    	scanf("%d",&T);
    	while(T--)
    	{
    		memset(dp,0,sizeof(dp));
    		scanf("%d %d",&N,&V);
    		for(int i=0 ; i<N ; i++)
    		{
    			scanf("%d",&val[i]);
    		}
    		for(int i=0 ; i<N ; i++)
    		{
    			scanf("%d",&vol[i]);
    		}
    		for(int i=0 ; i<N ; i++)
    		{
    			for(int j=V ; j>=vol[i] ; j--)
    			{
    				dp[j] = max(dp[j],dp[j-vol[i]]+val[i]);
    			}
    		}
    		printf("%d
    ",dp[V]);
    	}
    	return 0;
    }
  • 相关阅读:
    UI5 Databind
    the meaning of myconputer environment path
    Linux查看日志常用命令
    fw: IP bonding in Linux.
    FW:expect tcl install
    install ET underlinux
    转expect 文一篇。
    linux 集萃
    try expect and autoexpect
    linux 压缩种类
  • 原文地址:https://www.cnblogs.com/vocaloid01/p/9514289.html
Copyright © 2011-2022 走看看