nyoj 860 (01背包 变形)
来源:互联网 发布:淘宝劲舞团g币怎么刷的 编辑:程序博客网 时间:2024/06/06 13:10
点击打开链接http://acm.nyist.net/JudgeOnline/problem.php?pid=860
#include <stdio.h>#include <memory.h>#include <algorithm>#define Inf 1001000000 using namespace std; const int M=110; // 因为同样价值,重量越小,那么最后能装的价值就可能越大long dp[M][M*M]; // 对价值进行dp dp[i][j] 选前i件物品价值为j的最小重量 int main() // 要求重量在 W 内的最大价值 {//则答案为 dp[n][j]中的最大j && dp[n][j]<=W long W,w[M];long i,j,k,n,v[M],sum;while(~scanf("%d%ld",&n,&W)){sum=0;for(i=1;i<=n;i++){scanf("%ld%d",&w[i],&v[i]);sum+=v[i]; // 价值上限 } for(i=0;i<=n;i++) // 初始化 {for(j=0;j<=sum;j++){dp[i][j]=Inf;}}for(i=0;i<=n;i++){dp[i][0]=0; // 什么都不拿的 重量为0 }for(i=1;i<=n;i++){for(j=0;j<=M*n;j++){if(j>=v[i])dp[i][j]=min(dp[i-1][j],dp[i-1][j-v[i]]+w[i]);elsedp[i][j]=dp[i-1][j];}}for(j=sum;j>=0;j--){if(dp[n][j]<=W){break;}}printf("%ld\n",j);}return 0;}
0 0
- nyoj 860 (01背包 变形)
- nyoj 860 又见01背包 【01-背包变形】
- nyoj--860--又见01背包--01背包的变形
- Nyoj 860 又见01背包[背包变形]
- NYOJ 题目860 又见01背包(01背包变形)
- nyoj 860 变形0-1背包
- NYOJ 2184 Cow Exhibition(01背包+变形)
- poj2184-01背包变形(正负背包)
- poj2184(变形01背包)
- hdu2546(01背包变形)
- hdu1203(01背包变形)
- hdu1171(01背包变形)
- 01背包变形(poj2184)
- poj2184(01背包变形)
- nyoj 860 又见01背包(01 背包)
- nyoj 860又见01背包(01背包)
- hdu2955(变形的01背包)
- hdu 2546 饭卡(01背包变形)
- 版本控制:集中式VS分布式
- 进击的设计模式 - 目录
- OC 结构体的应用
- hdu 1312 Red and Black(dfs)
- 吝啬的国度
- nyoj 860 (01背包 变形)
- java字符串抉择
- 跟着郝斌学数据结构(09)——树的基本概念
- Java之四 表达式和流程控制
- Android学习记录(十六) recyclerview 滑动慢的问题。
- 【LeetCode-191】 Number of 1 Bits(C++)
- 大数定律
- 快速幂算法
- (不易)POJ-2392 sort预处理+多重部分和