zoukankan      html  css  js  c++  java
  • 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 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 ? 

    InputThe 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.OutputOne 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


    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int t = sc.nextInt();
        while(t-->0){
            int n = sc.nextInt();
            int v =sc.nextInt();
            int val[] = new int[1050];
            int vo[] = new int[1050];
            for(int i=1;i<=n;i++)
                val[i] = sc.nextInt();
            for(int i=1;i<=n;i++)
                vo[i] = sc.nextInt();
            int[] dp = new int[1050];
            dp [0] = 0;
            for(int i=1;i<=n;i++)
                for(int j=v;j>=vo[i];j--){
                    dp[j] = Math.max(dp[j],dp[j-vo[i]]+val[i]);
                }
            System.out.println(dp[v]);
        }
    }
    }
    
    


  • 相关阅读:
    jquery选择器详解
    git discard when composer update
    ASCII码、HEX、字符、BCD 等等 基础知识思考
    中文汉字占二个字节还是三个字节长度
    php二分查找的两种实现方法
    windows下运行多个版本node.js
    NodeJS
    Error in library(qcc) : there is no package called 'qcc'
    jquery网络引用地址(收藏)
    实现二分查找
  • 原文地址:https://www.cnblogs.com/upstart/p/6706201.html
Copyright © 2011-2022 走看看