【杭电】[2602]Bone Collector
2016-04-16 09:20
393 查看
基础的01背包问题
背包问题的解法也是有多样
这个是记录每个重量所能有的最大价值
则查找结束dp[V]即是最大价值
注意对数组的初始化
应该还会写其它的解法
#include<stdio.h> #include<string.h> int v[1020],w[1020],dp[1020]; int max(int a,int b) { return a>b?a:b; } int main() { int T; scanf("%d",&T); while(T--) { int N,V; scanf("%d %d",&N,&V); for(int i=0; i<N; i++) scanf("%d",&v[i]); for(int i=0; i<N; i++) scanf("%d",&w[i]); memset(dp,0,sizeof(dp)); for(int i=0; i<N; i++) { for(int j=V; j>=w[i]; j--) { dp[j]=max(dp[j],dp[j-w[i]]+v[i]); } } printf("%d\n",dp[V]); } return 0; }
题目地址:【杭电】[2602]Bone Collector
相关文章推荐
- C++动态规划之最长公子序列实例
- C++动态规划之背包问题解决方法
- C#使用动态规划解决0-1背包问题实例分析
- 动态规划
- C++ 动态规划
- DP(动态规划) 解游轮费用问题
- 动态规划的用法——01背包问题
- 动态规划的用法——01背包问题
- 《收集苹果》 动态规划入门
- 《DNA比对》蓝桥杯复赛试题
- 《背包问题》 动态规划
- 自顶向下动态规划解决最长公共子序列(LCS)问题
- 初学ACM - 半数集(Half Set)问题 NOJ 1010 / FOJ 1207
- 关于爬楼梯的动态规划算法
- 动态规划 --- hdu 1003 **
- 高精度加法——杭电1002
- DP问题各种模型的状态转移方程
- 0-1背包解题过程
- 背包问题
- USACO 3.2.2:Stringsobits