当前位置: 首页 > article >正文

01背包 P1507 NASA的食物计划

P1507 NASA的食物计划 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

普通01背包状态表示:f(i, j)表示前i件物品放入一个容量为j的背包可以获得的最大价值。

本题类似,f(i, j, k)表示前i件物品放入一个限制为j,且另一个限制为k的背包中可以获得的最大价值。可以进行就地滚动。

void solve() {
    int V,M; cin>>V>>M;
    int n; cin>>n;
    vector<array<int,3>> a(n); // V M Val
    for(auto &t: a) cin>>t[0]>>t[1]>>t[2];
    vector<vector<int>> f(V + 1, vector<int> (M + 1));
    for(int i = 0; i < n; ++i) {
        for(int j = V; j >= a[i][0]; --j) {
            for(int k = M; k >= a[i][1]; --k) {
                f[j][k] = max(f[j][k], f[j - a[i][0]][ k - a[i][1]] + a[i][2]);
            }
        } 
    }
    cout<<f[V][M];
}

http://www.kler.cn/news/136110.html

相关文章:

  • 十一、统一网关GateWay(搭建网关、过滤器、跨越解决)
  • 傅里叶级数@正弦级数和余弦级数@奇偶延拓和周期延拓
  • mysql清除数据痕迹_MySQL使用痕迹清理~/.mysql_history - milantgh
  • 【手撕数据结构】(三)顺序表和链表
  • PyCharm:PyCharm新建.py文件时自动带出指定内容
  • 服务器端请求伪造(SSRF)
  • 提高matlab运算效率——预分配内存
  • [github配置] 远程访问仓库以及问题解决
  • 数据结构02附录01:顺序表考研习题[C++]
  • 前端入门(二)Vue2到Vue3
  • golang学习笔记——要求用户输入一个数字,如果该数字为负数,则进入紧急状态
  • 试用无线调试器PowerDebugger小记
  • ES6有何新特性?(下篇)
  • 【C语法学习】26 - strcat()函数
  • 智能门禁刷脸照片格式gif、bmp,png转换,转换base64
  • 力扣labuladong——一刷day44
  • 网络参考模型与标准协议(一)
  • ORA-00600 【3948】,ORA-00600 【3949】
  • 何时使用Elasticsearch而不是MySql?
  • 虚拟化逻辑架构: 创建KVM中的VM与实现VNC远程登录
  • 键盘控制ROS车运动
  • Linux 串口应用编程
  • 阿里国际站(直通车)
  • 【开题报告】基于SpringBoot的膳食营养健康网站的设计与实现
  • WebGoat通关攻略之 SQL Injection (intro)
  • 持续集成交付CICD:Jenkins Sharedlibrary 共享库
  • Java语言基础第四天
  • centos oracle11g开启归档模式
  • 下一代搜索引擎会什么?
  • 力扣贪心——跳跃游戏I和II