HDOJ 2602 Bone Collector(0-1背包)
2012-07-09 22:05
435 查看
题目链接:。。。。。。。。。
新手第一道0-1背包问题
动态方程:dp[j] = max(dp[j], dp[j-V[i]]+W[i]) j为容量, 最后的dp[v]就为求的答案。
code:
用2维数组 动态方程:dp[i][j] = max(dp[i-1][j], dp[i-1][j-V[i]]+W[i]) dp[i][j]: 为装第i物品容量为j时有的价值
code:
新手第一道0-1背包问题
动态方程:dp[j] = max(dp[j], dp[j-V[i]]+W[i]) j为容量, 最后的dp[v]就为求的答案。
code:
#include <stdio.h> #include <string.h> int main() { int i = 0, j = 0, t = 0, n = 0, v = 0; int W[1002], V[1002], dp[1002]; scanf("%d",&t); while(t--) { scanf("%d %d",&n, &v); for(i = 0; i<n; i++) scanf("%d",&W[i]); for(i = 0; i<n; i++) scanf("%d",&V[i]); memset(dp, 0, sizeof(dp)); for(i = 0; i<n; i++) { for(j = v; j>=V[i]; j--)//j表明当前物品的容量 { dp[j] = dp[j]<(dp[j-V[i]]+W[i])? (dp[j-V[i]]+W[i]):dp[j]; } } printf("%d\n",dp[v]); } return 0; }
用2维数组 动态方程:dp[i][j] = max(dp[i-1][j], dp[i-1][j-V[i]]+W[i]) dp[i][j]: 为装第i物品容量为j时有的价值
code:
#include <stdio.h> #include <string.h> int dp[1002][1002]; int main() { int i = 0, j = 0, t = 0, n = 0, v = 0; int W[1002], V[1002]; scanf("%d",&t); while(t--) { scanf("%d %d",&n, &v); for(i = 0; i<n; i++) scanf("%d",&W[i]); for(i = 0; i<n; i++) scanf("%d",&V[i]); memset(dp, 0, sizeof(dp)); for(i = 0; i<V[0]; i++) dp[0][i] = 0; for(i = V[0]; i<=v; i++) dp[0][i] = W[0]; for(i = 1; i<n; i++) { for(j = 0; j<V[i]; j++) dp[i][j] = dp[i-1][j]; for(j = V[i]; j<=v; j++) dp[i][j] = dp[i-1][j]>dp[i-1][j-V[i]]+W[i]? dp[i-1][j]:dp[i-1][j-V[i]]+W[i]; } printf("%d\n",dp[n-1][v]); } return 0; }
相关文章推荐
- HDOJ 2602 Bone Collector--01背包
- HDOJ 2602 Bone Collector(01背包最基本模板题)
- HDOJ2602--0-1背包Bone Collector
- hdoj 2602 Bone Collector (0-1)背包
- dp (0,1背包)Bone Collector HDOJ-2602 (基本01背包)
- HDOJ-2602 Bone Collector(背包DP)
- HDOJ--2602--Bone Collector--dp--01背包
- HDOJ 2602 Bone Collector(背包问题)
- HDU/HDOJ 2602 Bone Collector(DP,0/1背包,贪心,经典题目)
- HDOJ2602 Bone Collector(0/1背包)
- HDOJ 2602 Bone Collector(0-1背包)
- hdoj 2602 Bone Collector【0-1背包】【dp思想】
- hdoj 2602 Bone Collector 【01-背包】
- HDOJ 2602 Bone Collector 【0 1背包】
- HDoj 2602 Bone Collector 01背包
- hdoj 2602 Bone Collector【裸0-1背包】
- HDOJ 2602 Bone Collector 0-1背包问题的最简形
- HDU 2602 Bone Collector(01背包模板题)
- hdu 2602 Bone Collector 01背包
- hdoj 2602 Bone Collector 【01背包】