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

蓝桥杯备考:动态规划dp背包之,多重背包

老样子,我们还是先定义状态表示f[i][j]表示从1到i个背包里,选出重量不超过T的最大价值

接着我们推导状态转移方程

这里我们多重背包就没办法和完全背包一样做优化了,因为我们多重背包毕竟选的数量是受限制的

第三步,初始化,我们全部初始化为0就行了

第四步,结果就存储在我们的f[n][m]里面

实现一下代码

#include <iostream>
using namespace std;
const int N = 210;
int f[N][N];
int w[N],v[N],x[N];
int n,m;
int main()
{
	cin >> n >> m;
	
	for(int i = 1;i<=n;i++)
	{
		cin >> x[i] >> w[i] >> v[i];
	}
	for(int i = 1;i<=n;i++)
	{
		for(int j = 0;j<=m;j++)
		{
			f[i][j] = f[i-1][j];
			for(int k = 1;k<=x[i];k++)
			{
				if(j>=k*w[i])
				f[i][j] = max(f[i][j],f[i-1][j-k*w[i]]+k*v[i]);
			}
		}
	}
	
	cout << f[n][m];
	
	
	
	return 0;
}

下一篇文章我们来说一下二进制优化版本的多重背包~

相关文章:

  • MySQL(一)
  • C/C++归纳1
  • 批量压缩与优化 PDF 文档,减少 PDF 文件的大小
  • Unity C#开发中常用的using语句(笔记)
  • 使用uni-app框架 写电商商城前端h5静态网站模板项目-手机端-前端项目练习
  • WEB安全--文件上传漏洞--白名单绕过
  • WPF 教程:给 TreeView 添加 SelectedItem 双向绑定支持(MVVM-Friendly)
  • 全球市场舆情收集:OgPhone云手机如何帮出海企业抢占先机?
  • 【群智能算法改进】一种改进的蜣螂优化算法IDBO[3](立方混沌映射Cubic、融合鱼鹰勘探策略、混合高斯柯西变异)【Matlab代码#92】
  • HarmonyOS:ComposeTitleBar 组件自学指南
  • 【学习笔记】计算机网络(五)
  • 【Golang】Windows系统键鼠空闲监测练习
  • 每天学一个 Linux 命令(8):ls
  • 使用 KT-Connect 0.3.7在本地访问 Kubernetes
  • 如何实现口型0误差?
  • RTL8304问题
  • 《电容:时空交错的能量银行》
  • 愚人杯-web-被遗忘的反序列化
  • [数学]关于组合数
  • 蓝桥杯比赛python程序设计——班级活动
  • 农家乐网站建设方案/百度商城
  • vs2010如何做网站/网站群发推广软件
  • 昆明做网站优化/新闻发稿
  • 文山做女主播的在哪个网站/现在做百度快速收录的方法
  • 咸阳做网站电话/网络营销培训机构
  • 做微信公众号网站/金昌网站seo