动态规划总结

本文总结了动态规划的概念,适用于解决具有多阶段决策的问题。介绍了动态规划的四个关键特点,并详细阐述了解题步骤,包括判断最优子结构、状态转移方程的建立、边界条件等。文章通过01背包、完全背包、多重背包、分组背包和区间DP等典型问题,展示了动态规划的应用,并分享了学习感悟,强调状态转移方程的重要性以及做题与写作同步的习惯养成。
摘要由CSDN通过智能技术生成

一、知识点整理

(一)、动态规划是解决多阶段策略问题的一种方法,运用最优性原理,排除重复计算,用空间换时间的算法。

(二)、动态规划适用的题目类型有以下几个特点:

       1.问题具有多阶段的决策

        2.每个阶段对应一个状态(状态变量)

        3.每个阶段有一个决策(不同的决策导致下一个阶段不同的状态)

        4.每个阶段的最优解可以递归地归结为下一个阶段各个可能状态的最优解问题

(三)、一般的解题步骤

        1.判断问题是否具最优子结构性质者

        2.分阶段

        3.建立状态转移方程(递归公式)

        4.找出边界条件

        5.将已知的边界值带入方程

        6.递归求解

(四)、背包问题

 1、01背包

特点:每种物品仅有一件,可以选择放或不放,求最大价值

状态转移方程:f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]};

伪代码:(空间优化)

for i=1..N

for v=v..0

f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}

(若要求恰好装满背包,初始化的时候除了将f0]=0,其余的均为负无穷;

若没有要求必须装满,初始化的时候将f[0...v]都设成0)<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值