这道题是一个01背包的延伸题,只要透彻理解了,就不难了。

这个题有两个T,一个是体积一个是质量,所以这时候我们必须要加一个for了,同时要优化空间(三维降二维),然后用f[j][k]来表示当体积为j,质量为k时的最大价值,加一个for,最后输出即可。

1.再去复习所有背包问题,再去推导方程,注意不同之处

2.j与k不要for到0,for到v[i]或m[i]即可

代码

#include<iostream>
#include<string>
#include<cstring>
#include<cstdio>
#define N 10001
using namespace std;
int dp[][];//当体积为T1,质量为T2时可以装下的
int T1,T2;//体积与质量
int v[],m[],value[];
int n;
int main(){
scanf("%d%d",&T1,&T2);
memset(dp,,sizeof(dp));
scanf("%d",&n);
for(int i=;i<=n;i++){
scanf("%d%d%d",&v[i],&m[i],&value[i]);
}
for(int i=;i<=n;i++){
for(int j=T1;j>=v[i];j--){
for(int k=T2;k>=m[i];k--){
dp[j][k]=max(dp[j][k],dp[j-v[i]][k-m[i]]+value[i]);
}
}
}
cout<<dp[T1][T2]; }

最新文章

  1. interpreter(解释器模式)
  2. spool命令
  3. 使用VS2015开发跨平台APP
  4. 折腾笔记之wordpress安装出现错误---【wordpress点击文章找不到网页的解决办法】
  5. DOM 之 SAX操作
  6. C#程序双击运行之后,界面不显示,但是在任务管理器有进程(一个winform找bug之旅)
  7. arcgis9.3 执行python文件
  8. xcode7.3 iTunes Store operation failed问题
  9. JDBC高级部分
  10. vsftp关于&quot;550 create directory operation failed&quot;问题解决
  11. selenium2使用记录
  12. c:set 存值
  13. java开发之提高java和mysql代码性能和质量
  14. [js高手之路] vue系列教程 - 绑定设置属性的多种方式(5)
  15. 安装/或更新node和npm
  16. 【Uva 10269 马里奥与公主的归途】
  17. 《Shazam It! Music Recognition Algorithms, Fingerprinting, and Processing》译文
  18. mysql中min和max查询优化
  19. Oauth2.0(一):为什么需要 Oauth2.0 协议?
  20. JavaWeb项目通过调用cmd实现备份数据库的功能

热门文章

  1. 【leetcode】1105. Filling Bookcase Shelves
  2. IDC装机检查思路
  3. LeetCode - 环形链表检测
  4. html aside标签 语法
  5. java+web+大文件上传下载
  6. 微信小程序访问后台出现 对应的服务器证书无效。控制台输入 showRequestInfo() 可以获取更详细信息。
  7. php缓冲区
  8. Python 使用PyQt5进行开发(一)
  9. Factory Kit【其他模式】
  10. 【mysql】时间类型-如何根据不同的应用场景,选择合适的时间类型?