!HDU 2602 Bone Collector--DP--(裸01背包)
题意:这题就是一个纯粹的裸01背包
分析:WA了好几次。01背包实现的一些细节没搞懂
1.为什么dp[i][j]赋初值为0而不是value[i]。由于第i个石头可能不放!
2.在进行状态转移之前要dp[i][j]=dp[i-1][j],不然肯定会WA啊。想想就明确了
3.终于结果是dp[n][v],不是每次求mx,由于状态转移就是这么推的啊
代码:
#include<iostream>
#include<cstring>
#include<cmath>
using namespace std;
long long dp[1001][1001],va[1001],mx;
int t,n,v,vo[1001];
int main()
{
cin>>t;
while(t--){
cin>>n>>v;
mx=-1;
for(int i=1;i<=n;i++) cin>>va[i];
for(int i=1;i<=n;i++) cin>>vo[i];
for(int i=1;i<=n;i++) for(int j=0;j<=v;j++) dp[i][j]=0; //错误1
for(int i=1;i<=n;i++){
for(int j=0;j<=v;j++){
dp[i][j]=dp[i-1][j]; //错误2
if(vo[i]<=j) dp[i][j]=dp[i][j]>dp[i-1][j-vo[i]]+va[i]?dp[i][j]:dp[i-1][j-vo[i]]+va[i];
} }
mx=dp[n][v]; //错误3
cout<<mx<<endl;
}
}
!HDU 2602 Bone Collector--DP--(裸01背包)的更多相关文章
- HDU 2602 Bone Collector (简单01背包)
		Bone Collector http://acm.hdu.edu.cn/showproblem.php?pid=2602 Problem Description Many years ago , i ... 
- HDOJ(HDU).2602 Bone Collector (DP 01背包)
		HDOJ(HDU).2602 Bone Collector (DP 01背包) 题意分析 01背包的裸题 #include <iostream> #include <cstdio&g ... 
- HDU 2602 Bone Collector(经典01背包问题)
		题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2602 Bone Collector Time Limit: 2000/1000 MS (Java/O ... 
- HDU 3639 Bone Collector II(01背包第K优解)
		Bone Collector II Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ... 
- HDU 2639 Bone Collector II【01背包 + 第K大价值】
		The title of this problem is familiar,isn't it?yeah,if you had took part in the "Rookie Cup&quo ... 
- hdu 2639 Bone Collector II(01背包 第K大价值)
		Bone Collector II Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others ... 
- HDU 2602.Bone Collector-动态规划0-1背包
		Bone Collector Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ... 
- hdu 2639 Bone Collector II (01背包,求第k优解)
		这题和典型的01背包求最优解不同,是要求第k优解,所以,最直观的想法就是在01背包的基础上再增加一维表示第k大时的价值.具体思路见下面的参考链接,说的很详细 参考连接:http://laiba2004 ... 
- HDU 2602 Bone Collector 0/1背包
		题目链接:pid=2602">HDU 2602 Bone Collector Bone Collector Time Limit: 2000/1000 MS (Java/Others) ... 
- hdu 2602 Bone Collector(01背包)模板
		题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 Bone Collector Time Limit: 2000/1000 MS (Java/Ot ... 
随机推荐
- 贰、js的基础(一)
			1.js的语法 a.区分大小写 b.弱类型变量:变量无特定类型 c.每行结尾的分号可有可无 d.括号用于代码块 e.注释的方法与c语言和java相同 2.变量 注意事项: a.通过关键字var来声明. ... 
- 51nod 1325 两棵树的问题(最大权闭合子图)
			首先如果点权全都为正,就可以直接选所有的点. 活在梦里.. 考虑枚举一个点\(i\),作为我们选择的集合中的一个点. 然后我们把另一个点\(j\)选入集合的时候必须把两棵树中\(i\)和\(j\)路径 ... 
- python学习笔记:第四天
			day04: 一.计算求值 num += 1 等价于 num = num + 1num -= 1 等价于 num = num - 1num *= 2 等价于 num = num * 2num /= 2 ... 
- 中国象棋程序的设计与实现(六)--N皇后问题的算法设计与实现(源码+注释+截图)
			八皇后问题,是一个古老而著名的问题,是回溯算法的典型例题. 该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行.同一列 ... 
- VS2015--win32project配置的一些想法之cmake
			近期两天都在配置一个win32项目.为了实现跨平台,写底层代码的人仅仅build了安卓和ios的工程,没有build win32项目. 因为对一些库不是非常了解.配置起来非常困难,心力交瘁. 为了实现 ... 
- Redis介绍以及安装具体解释
			redis是一个key-value存储系统. 和Memcached类似.它支持存储的value类型相对很多其它,包含string(字符串).list(链表).set(集合).zset(sorted s ... 
- hdu 1518   Square   深搜,,,,花样剪枝啊!!!
			Square Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Su ... 
- ios面试题1
			iOS面试题 1.写一个NSString类的实现 + (id)initWithCString:(c*****t char *)nullTerminatedCString encoding:(NSS ... 
- Android Studio生成apk
			1.菜单Build->Generate Signed APK 2.生成android.keystore,能够依据弹框去Create new一个,也可使用命令来生成android.keystore ... 
- 求解n位格雷码
			/************************************************************************* > File Name: Gray.cpp ... 
