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

    输入

     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.

    输出

     One integer per line representing the maximum of the total value (this number will be less than 231).
     

    示例输入

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

    示例输出

    14
    
    第一次做背包问题,研究的别人的代码
    这张图片就可说明问题
     1 #include<stdio.h>
     2 #include<string.h>
     3 int main()
     4 {
     5     int t,n,v,f[1001],vol[1001],val[1001],sum;
     6     scanf("%d",&t);
     7     for(int i=1;i<=t;i++)
     8     {
     9         scanf("%d %d",&n,&v);
    10         for(int i=0;i<n;i++)
    11         scanf("%d",&vol[i]);
    12         for(int i=0;i<n;i++)
    13         scanf("%d",&val[i]);
    14         memset(f,0,sizeof(f));
    15         for(int i=0;i<n;i++)
    16         {
    17             for(int j=v;j>=vol[i];j--)
    18             {
    19                 sum=f[j-vol[i]]+val[i];
    20                 if(f[j]<sum)
    21                 f[j]=sum;
    22             }
    23         }printf("%d
    ",f[v]);
    24     }return 0;
    25 }
  • 相关阅读:
    逆序数 POJ 2299 Ultra-QuickSort
    DP URAL 1244 Gentlemen
    找规律 SGU 107 987654321 problem
    找规律 SGU 126 Boxes
    DP VK Cup 2012 Qualification Round D. Palindrome pairs
    模拟 Coder-Strike 2014
    模拟 Codeforces Round #203 (Div. 2) C. Bombs
    DFS HDOJ 2614 Beat
    最短路(Floyd_Warshall) POJ 2240 Arbitrage
    最短路(Floyd_Warshall) POJ 1125 Stockbroker Grapevine
  • 原文地址:https://www.cnblogs.com/wlc297984368/p/3263976.html
Copyright © 2011-2022 走看看