关于动态规划【0-1背包思想在实际问题中是怎么转化的?】

目录

一、两道例题

二、转化的共同点


一、两道例题

例1、力扣416.分割等和子集

例2、力扣1049.最后一块石头的重量II

二、转化的共同点

1、递推公式

纯粹的0-1背包问题的递推公式是:

dpj = max(dpj,dpj-weight\[i]+valuei); // max里面放的是"取"或"不取"当前物品i,这两种情况;

【这两个实际0-1背包问题的应用,都有一个共同点就是:它们的数组里的值就是物品的重量和价值】

所以转化以后的递推公式是:

dpj = max(dpj,dpj-nums\[i]+numsi);

【0-1背包问题要解决的就是【背包最大能装的重量、每个物品的重量、每个物品的价值】

问:背包最多能装多少价值

所以,第二个共同点是定义背包最大能装的重量。】

2、背包最大能装质量

纯粹的0-1背包问题的最大能装重量已知

(由题目就能判断出)

转化为实际0-1背包问题的应用时,要先分析后定义

(例1、力扣416.分割等和子集。定义背包最大能装的重量为:数组全部数值总和的一半sum/2)

(例2、力扣1049.最后一块石头的重量II。定义背包最大能装的重量为:数组全部数值总和的一半 sum/2 )(这里 sum/2 是向下取整)

相关推荐
复杂网络2 小时前
AI 不睡觉,但它比你更会做实验
算法
贵慜_Derek3 小时前
MAI-04|干净数据在工程上意味着什么:MAI 预训练数据治理
人工智能·算法·llm
vibecoding日记21 小时前
双非如何快速入职字节等大厂大模型?真实案例分析:推理优化和投机解码
算法·求职·大模型工程师
yszaygr21381 天前
Verilog参数化游程编码RLE模块
算法
望易1 天前
刚设计的大模型架构-双域耦合认知框架
算法·架构
复杂网络1 天前
多个 Claude Code 与多个 Codex 协同工作:设计与实现方案
算法
HjhIron2 天前
面试常客:字符串算法从入门到进阶
算法·面试
吴佳浩2 天前
DeepSeek DSpark:Confidence-Scheduled Speculative Decoding 技术解析
人工智能·算法·deepseek