动态规划 HDOJ2602-Bone Collector-01背包

    xiaoxiao2025-10-18  11

    Bone Collector

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 40794    Accepted Submission(s): 16961 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 2 31). Sample Input 1 5 10 1 2 3 4 5 5 4 3 2 1 Sample Output 14

    1.题目大意

    有个人叫“骨头收集者”,他有一个包,最多能放下重量为xx 的物品。不同骨头有不同价值和重量,求能收集骨头的最大价值。

    2.输入

    T N W V1 V2 ... Vn W1 W2 ... Wn ------ T:case个数。 N:N个骨头。 W:背包容量。 Vi:第i个骨头的价值。 Wi:第i个骨头的重量。

    3.输出

    能够收集的骨头的最大价值。

    4.分析

    标标准准的01背包。

    5.代码

    代码1:二维dp[][] 代码2:一维dp[] 相关资源:python入门教程(PDF版)
    最新回复(0)