算法第十四期——动态规划(DP)初入门

目录

0、什么是DP? 

1、DP初步:状态转移与递推

1.1、举例:最少硬币问题

1.2、DP基础

1.2.1、DP的两个特征

1.2.2、DP:记忆化

1.3、图解DP求解过程

2、最经典的DP问题:0/1背包

3、模板题:小明的背包

3.1、DP状态设计

3.2、DP状态转移方程(重点)

3.3、代码

3.4、空间优化:滚动数组

3.4.1、交替滚动(两行)

3.4.2、自我滚动(一行)


0、什么是DP? 

  •  dp一般用于解决多阶段决策问题,即每个阶段都要做一个决策,全部的决策是一个决策序列,要你求一个最好的决策序列使得这个问题有最优解
  • 将待求解的问题分为若干个相互联系的子问题,只在第一次遇到的时候求解,然后将这个子问题的答案保存下来(用一个数组保存),下次又遇到的时候直接拿过来用即可(记忆化

1、DP初步:状态转移与递推

1.1、举例:最少硬币问题

有多个不同面值的硬币(任意面值),数量不限,输入金额s,输出最少硬币组合。

例:硬币面值1、2、5。支付13元,要求硬币数量最少 

例:硬币面值1、2、4、5、6。支付9元,要求硬币数量最少 

回顾用

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小叶pyか

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值