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

【蓝桥杯】动态规划背包问题

这篇文章主要记录动态规划方面的学习。

动态规划的核心思想:

把大问题分解成小问题,记住小问题的解,避免重复计算。

动态规划(DP)的三大特点

①最优子结构:大问题的最优解可以由小问题的最优解推导出来

②重叠子问题:在求解过程中会反复遇到相同的小问题

③无后效性:当前状态一旦确定,后续过程不受之前决策的影响


🎒0-1背包问题

🛒 生活化题目:吃货的购物计划

题目:妈妈给你一个限重5kg的购物袋,超市有以下零食:

零食重量好吃度
薯片2kg4
可乐3kg5
糖果1kg3
饼干2kg3

规则

  1. 购物袋不能超重(≤5kg)

  2. 每种零食只能拿一件

  3. 目标是让总"好吃度"最高

🧩 分步思考图解

第0步:初始化表格(空包状态)

容量0kg1kg2kg3kg4kg5kg
价值000000

第1步:考虑薯片(2kg,好吃度4)

if 当前容量 >= 2kg:价值 = max(不装的价值, 装的价值 = 剩余容量的价值 + 4)
容量0kg1kg2kg3kg4kg5kg
价值004444

第2步:加入可乐(3kg,好吃度5)

# 容量3kg时:
max(不装=4, 装=0kg价值0 + 5 =5) → 选5
# 容量5kg时:
max(不装=4, 装=2kg价值4 +5=9) → 选9
容量0kg1kg2kg3kg4kg

http://www.mrgr.cn/news/97587.html

相关文章:

  • Go语言从零构建SQL数据库(5)-Pratt解析算法:SQL表达式解析的核心引擎
  • 算法与数据结构线性表之栈和队列
  • Docker与VNC的使用
  • PPTAgent:一款开源免费生成和评估幻灯片的项目
  • Linux信号——信号的保存(2)
  • Linux信号——信号的处理(3)
  • QT6(12)3.3.1 Qt元对象系统概述:QObject 类与 QMetaObject 类,类型转换 qobject_cast<T>()。3.3.3 属性系统:帮助文档,
  • 【题解-Acwing】798. 差分矩阵
  • 【第十三届“泰迪杯”数据挖掘挑战赛】【2025泰迪杯】【代码篇】A题解题全流程(持续更新)
  • vue3 处理文字 根据文字单独添加class
  • linux第三次作业
  • JVM核心机制:类加载×字节码引擎×垃圾回收机制
  • 使用Docker安装及使用最新版本的Jenkins
  • el-table,新增、复制数据后,之前的勾选状态丢失
  • STM32江科大----IIC
  • 高安全等级车规芯片在星载控制终端上的应用
  • Nodejs回调函数
  • python应用之使用pdfplumber 解析pdf文件内容
  • 使用stm32cubeide stm32f407 lan8720a freertos lwip 实现udp client网络数据转串口数据过程详解
  • JavaScript基础--22-call、apply 和 bind