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

P1049 装箱问题

题目描述

在这里插入图片描述

思路

和背包有点像,但是他没有“显式”的说出价值,其实让求剩余空间最小,就是箱子体积最大,可以转换为求价值最大,即体积就是价值

代码

把上一篇题解的 洛谷 采药问题代码一改就ok

#include<bits/stdc++.h>
#define int long long

using namespace std;

const int N = 1e6+10;

int f[N];
int t[N],w[N];
//01背包

signed main()
{
	int v, n;
	cin >> v>>n;
	for(int i = 1; i <= n; i++)
	{
		
		cin>>t[i];
		w[i] = t[i];
		
	}
	for(int i = 1; i <= n; i++)
	{
		for(int j = v; j >= t[i]; j--)//01背包是逆序
//这里省去判断的时机,这个物品的价值首先要小于总体积,还要大于这个物品的体积(进行转移)
		{
			f[j] = max(f[j], f[j - t[i]]+w[i]);
		}
	}
	cout<<v-f[v]<<endl;//背包容量最大时
	return 0;
}

总结

关键是要能看出来是个背包问题

相关文章:

  • PPT处理控件Aspose.Slides教程:使用 Java 编程创建动画幻灯片
  • 解析Java包核心知识
  • 单链表——C语言实现
  • c++进阶--智能指针
  • 第十三天 - Ansible基础架构 - YAML语法与Playbook - 练习:批量配置部署
  • Kaggle-Digit Recognizer-(多分类+卷积神经网络CNN)
  • 集成学习+泰坦尼克号案例+红酒品质预测
  • pipe匿名管道实操(Linux)
  • SpringBoot集成Ollama本地模型
  • AllData数据中台升级发布 | 支持K8S数据平台2.0版本
  • 系统变量和用户变量的区别是什么
  • Android WiFi获取动态IP地址
  • python函数的定义与使用
  • Docker Harbor
  • 连表查询的时候,子查询的条件应该写到子查询里面,不能放到外面
  • 大模型在网络安全领域的七大应用
  • qml之锚点Anchors
  • Google Cloud Next‘25大会 Gemini 支持 Anthropic MCP 协议及推出 A2A 协议剑指医疗AI情况分析
  • QBitmap、QPixmap、QImage 和 QPicture 使用方法和特点以及转换
  • Windows10 ssh无输出 sshd服务启动失败 1067报错 公钥无法认证链接 解决办法