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

背包笔记

01背包

朴素版01背包

cin >> n >> m;
f[0][0] = 0;
for(int i = 1; i <= n; i ++)
{for(int j = 0; j <= m; j ++){f[i][j] = f[i - 1][j];//第i个物品不选if(j - v[i] >= 0){f[i][j] = max(f[i][j], f[i - 1][j - v[i]] + w[i]);//选第i个物品}}
}cout << f[n][m];

一维

cin >> n >> m;
for(int i = 1; i <= n; i ++)cin >> v[i] >> w[i];
//初始化
//一维的要f[0~m]都是0
//如果要恰好背包容量是m的话,要f[0] = 0, f[1~m] = 负无穷
for(int i = 1; i <= n; i ++)
{for(int j = m; j >= v[i]; j --){f[j] = max(f[j], f[j - v[i]] + w[i]);}
}cout << f[m];

http://www.lryc.cn/news/215461.html

相关文章:

  • 【Redis 速通】Redis 在 Linux 上的单机服务快速搭建与部署(附完整流程步骤及命令代码)
  • 前端JavaScript
  • C语言程序设计(第五版)谭浩强 第三章课后题答案
  • uni-app 解决钉钉小程序日期组件uni-datetime-picker不兼容ios问题
  • 【C++入门 三】学习C++缺省参数 | 函数重载 | 引用
  • 视频增强修复软件Topaz Video AI mac中文版支持功能
  • C# 使用Thread类建线程
  • asyncio协程框架
  • TSINGSEE智慧安防:AI人员入侵检测算法的工作原理及应用场景概述
  • Python:PDF转长图像和分页图像
  • 第48天:内置对象方法、 前端基础之BOM和DOM
  • CMake系列EP02: 构建可执行程序和库
  • 比亚迪今年的薪资。。
  • 【OpenCV实现图像找到轮廓的不同特征,就像面积,周长,质心,边界框等等。】
  • 数仓建模—数仓建设概论
  • Docker dnmp 多版本php安装 php8.2
  • Distilling the Knowledge in a Neural Network【论文解析】
  • 基于深度学习的自动驾驶汽车语义分割与场景标注算法研究。
  • 国内可用超丝滑ChatGPT4.0(附网址及微信入口)
  • linux入门---线程的同步
  • UI设计一定不能错过的4款常用工具
  • JavaScript 基础 - 第2天
  • MyBatis和JDBC异同点
  • 关于yarn安装一些东西报错时的处理方法
  • datagrip 使用自定义参数
  • css实现平行四边形按钮
  • Jmeter只能做性能测试吗?
  • Jmeter调用测试片段 —— 模块控制器
  • 数组类型题目总结
  • 机器学习2:决策树--基于信息增益的ID3算法