hdu 2602 Bone Collector(01背包)
题意:给出包裹的大小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背包)相关推荐
- hdu 2602 Bone Collector 01背包
Bone Collector Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
- hdu 2602 Bone Collector(01背包)模板
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 Bone Collector Time Limit: 2000/1000 MS (Java/Ot ...
- HDU 2602 Bone Collector DP(01背包)
Bone Collector Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Desc ...
- hdu 2602 Bone Collector 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 在没学01背包时做的,很遗憾的是,wa了很多次. wa代码 1 #include <ios ...
- hdu 2602 Bone Collector
终于开始做自己一直不敢碰的dp了,内心颇不平静.很久以前看过的背包九讲也没什么印象了.这个题错了四次.之前老师有说过看到dp不要把它想成dp,要按照数学归纳的路子来.先来个最初的归纳假设,如果过弱再加 ...
- HDU 2602 Bone Collector - from lanshui_Yang
题目大意:有n件物品,每件物品均有各自的价值和体积,给你一个容量为 V 的背包,问这个背包最多能装的物品的价值是多少? 解题思路:这是一道0 - 1 背包的简单模板题,也是 ...
- HDU - 2639 Bone Collector II
HDU - 2639 Bone Collector II dp之难,难于上青天. The title of this problem is familiar,isn't it?yeah,if you ...
- HD 2602 Bone Collector (0-1背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 Problem Description Many years ago , in Teddy's ...
- HDU 2602.Bone Collector-动态规划0-1背包
Bone Collector Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) T ...
最新文章
- UI Bootstrap
- 利用matlab命令画出以下信号的波形,MATLAB实验报告
- 盘点:最值得托付终身的星座
- Python基础__Python序列基本类型及其操作(1)
- python解acm题_python ACM ,持续更新中。。。。。。。。。。。。
- java+线程安全的hash,多线程下HashMap安全问题-ConcurrentHashMap解析
- 方格图片轮换JS特效
- ------更快的搜索储存结构-----平衡二叉树-----------------
- elasticsearch.net search入门使用指南中文版(翻译)
- eweishop 人人商城区别_微擎开发之人人商城添加第三方支付系列
- MicroSoft官方——Sql Server2000相关下载页面及下载地址集合
- jeb配置java环境_android逆向工具Jeb第一次启动
- Elasticsearch的关键词搜索
- 158、如何分辨出一台PoE交换机是否标准PoE供电
- linux 空格变问号,遭遇UTF-8编码转换后,空格变成问号的问题
- 什么是视觉特效师,我如何才能成为一名艺术家?
- 2021年遭遇苹果审核2.3.1的开发过审经历
- 关于富勒-富勒旗舰店- 天猫Tmall.com
- dump文件,windbg
- ArrayList添加一个元素的过程(中部插入以及尾部添加)