博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 3449 Consumer (依赖01背包)
阅读量:6283 次
发布时间:2019-06-22

本文共 916 字,大约阅读时间需要 3 分钟。

题目:

        链接:

题意:

思路:

        dp[i][j]表示前i个箱子装j钱的材料可以得到的最大价值。

代码:

#include
#include
#include
using namespace std;#define MAXN 100010int dp[55][MAXN];int main(){ //freopen("input.txt","r",stdin); int n,v; int pi,mi; int c,w; while(scanf("%d%d",&n,&v) != EOF) { memset(dp,0,sizeof(dp)); for(int i=1; i<=n; i++) { scanf("%d%d",&pi,&mi); for(int j=0; j<=pi; j++) dp[i][j] = -1; for(int j=v; j>=pi; j--)//依赖 dp[i][j] = dp[i-1][j-pi]; for(int j=0; j
=c; k--) { if(dp[i][k-c] != -1) dp[i][k] = max(dp[i][k],dp[i][k-c]+w); } } for(int j=v; j>=0; j--)//........... dp[i][j] = max(dp[i][j],dp[i-1][j]); } printf("%d\n",dp[n][v]); } return 0;}

转载地址:http://dsxva.baihongyu.com/

你可能感兴趣的文章
finalize和System.gc()的区别
查看>>
几个数组去重的方法
查看>>
微软指定推荐沃通WoSign EV代码签名证书
查看>>
架构师速成-如何高效编程 for java
查看>>
struts2上传文件
查看>>
敏捷软件开发宣言和敏捷宣言遵循的12个原则
查看>>
前端日志
查看>>
重复数据删除和SSD的互补方法
查看>>
Using Regular Expressions in Python
查看>>
MVC 3.0 学习1
查看>>
Cracking the coding interview--Q1.1
查看>>
Delphi中GDI+实现图像二值化
查看>>
类的声明和实现 oc
查看>>
Cent OS 6.5安装 php memcached扩展
查看>>
LeetCode-152-Maximum Product Subarray
查看>>
Scrapy 学习记录
查看>>
【LeetCode每天一题】Maximum Subarray(最大子数组)
查看>>
DLL文件编译出错_DllMain@12 already defined in XXX.obj
查看>>
控件拖拽基本方法
查看>>
Python的内置函数
查看>>