题意:给出包裹的大小v,然后给出n块骨头的价值value和体积volume,求出一路下来包裹可以携带骨头最大价值

思路:01背包

1.二维数组(不常用

#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
int dp[1100][1100];
int main()
{int i,j;int t,n,_v;//测试用例个数,物品种类,背包大小int c[1100],v[1100];//花费,价值scanf("%d",&t);while(t--){scanf("%d%d",&n,&_v);for(j=0; j<=_v; ++j)dp[0][j]=0;for(i=1; i<=n; ++i)scanf("%d",&v[i]);for(i=1; i<=n; ++i)scanf("%d",&c[i]);for(i=1; i<=n; ++i){for(j=0; j<c[i]; ++j)dp[i][j]=dp[i-1][j];for(j=c[i]; j<=_v; ++j){if(dp[i-1][j-c[i]]+v[i]>dp[i-1][j])dp[i][j]=dp[i-1][j-c[i]]+v[i];else dp[i][j]=dp[i-1][j];}}printf("%d\n",dp[n][_v]);}return 0;
}

View Code

2.一维数组(之后 多重、完全背包 的解法 皆采用一维数组)

1...n
   _v...0

#include<iostream>
#include<stdio.h>
using namespace std;
int dp[1100];
int main()
{int i,j;int t,n,_v;//测试用例个数,物品种类,背包大小int c[1100],v[1100];//花费,价值scanf("%d",&t);while(t--){scanf("%d%d",&n,&_v);for(j=0; j<=_v; ++j)dp[j]=0;for(i=1; i<=n; ++i)scanf("%d",&v[i]);for(i=1; i<=n; ++i)scanf("%d",&c[i]);for(i=1; i<=n; ++i)for(j=_v; j>=c[i]; --j)if(dp[j-c[i]]+v[i]>dp[j])dp[j]=dp[j-c[i]]+v[i];printf("%d\n",dp[_v]);}return 0;
}

View Code

附一道01背包好题:http://acm.csu.edu.cn/OnlineJudge/problem.php?cid=2071&pid=0

转载于:https://www.cnblogs.com/bofengyu/p/4739277.html

hdu 2602 Bone Collector(01背包)相关推荐

  1. hdu 2602 Bone Collector 01背包

    Bone Collector Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  2. hdu 2602 Bone Collector(01背包)模板

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 Bone Collector Time Limit: 2000/1000 MS (Java/Ot ...

  3. HDU 2602 Bone Collector DP(01背包)

    Bone Collector Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Desc ...

  4. hdu 2602 Bone Collector 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 在没学01背包时做的,很遗憾的是,wa了很多次. wa代码 1 #include <ios ...

  5. hdu 2602 Bone Collector

    终于开始做自己一直不敢碰的dp了,内心颇不平静.很久以前看过的背包九讲也没什么印象了.这个题错了四次.之前老师有说过看到dp不要把它想成dp,要按照数学归纳的路子来.先来个最初的归纳假设,如果过弱再加 ...

  6. HDU 2602 Bone Collector - from lanshui_Yang

           题目大意:有n件物品,每件物品均有各自的价值和体积,给你一个容量为 V 的背包,问这个背包最多能装的物品的价值是多少?        解题思路:这是一道0 - 1 背包的简单模板题,也是 ...

  7. HDU - 2639 Bone Collector II

    HDU - 2639 Bone Collector II dp之难,难于上青天. The title of this problem is familiar,isn't it?yeah,if you ...

  8. HD 2602 Bone Collector (0-1背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 Problem Description Many years ago , in Teddy's ...

  9. HDU 2602.Bone Collector-动态规划0-1背包

    Bone Collector Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

最新文章

  1. UI Bootstrap
  2. 利用matlab命令画出以下信号的波形,MATLAB实验报告
  3. 盘点:最值得托付终身的星座
  4. Python基础__Python序列基本类型及其操作(1)
  5. python解acm题_python ACM ,持续更新中。。。。。。。。。。。。
  6. java+线程安全的hash,多线程下HashMap安全问题-ConcurrentHashMap解析
  7. 方格图片轮换JS特效
  8. ------更快的搜索储存结构-----平衡二叉树-----------------
  9. elasticsearch.net search入门使用指南中文版(翻译)
  10. eweishop 人人商城区别_微擎开发之人人商城添加第三方支付系列
  11. MicroSoft官方——Sql Server2000相关下载页面及下载地址集合
  12. jeb配置java环境_android逆向工具Jeb第一次启动
  13. Elasticsearch的关键词搜索
  14. 158、如何分辨出一台PoE交换机是否标准PoE供电
  15. linux 空格变问号,遭遇UTF-8编码转换后,空格变成问号的问题
  16. 什么是视觉特效师,我如何才能成为一名艺术家?
  17. 2021年遭遇苹果审核2.3.1的开发过审经历
  18. 关于富勒-富勒旗舰店- 天猫Tmall.com
  19. dump文件,windbg
  20. ArrayList添加一个元素的过程(中部插入以及尾部添加)

热门文章

  1. jquery入门与实践案例教程
  2. 2020厦门大学845数据结构考研考试范围(大纲)和参考书目
  3. c语言之-umask()函数
  4. 《程序员面试金典》合法括号判断
  5. 《剑指offer》数值的整数次方
  6. 一道SQL面试题(行列互换)
  7. 个人成长:拉开你和同龄人差距的100个顶级认知
  8. 推荐系统算法总结(三)——FM与DNN DeepFM
  9. Docker入门总结
  10. 深度学习表征的不合理有效性——从头开始构建图像搜索服务(二)