动态规划

动态规划

1. 大纲

在这里插入图片描述

2. 入门经典例题

【动态规划】Lintcode 109. 数字三角形

3. 什么情况下使用动态规划?

在这里插入图片描述

4. 什么情况下不使用动态规划?

5. 动规四要素 vs 递归三要素

在这里插入图片描述

6. 面试中常见的动态规划类型

在这里插入图片描述

7. 坐标型动态规划

在这里插入图片描述
Trip:
初始化一个二维的动态规划时就去初始化第0行第0列

7.1 最大最小值问题

状态:f[x][y]从起点走到x,y的最短路径
转移方程:f[x][y] = min(f[x-1][y], f[x][y-1]) + A[x][y]
初始化:f[i][0] = sum(0,0 ~ i,0);f[0][i] = sum(0,0 ~ 0,i)
答案:f[n-1][m-1]

例题:
【动态规划——坐标型-最大最小值问题】Lintcode 110. 最小路径和

7.2 方案总数问题

状态:f[x][y]从起点到x,y的路方案数
转移方程: (研究倒数第一步) f[x][y] = f[x - 1][y] + f[x][y - 1]
初始化:f[0][i] = 1(对于第一行只能往右走,所以方案数就是1);
f[i][0] = 1(对于第一列只能往下走,方案书也是1);

答案:f[n-1][m-1]

例题:
【动态规划——坐标型-方案总数问题】Lintcode 114. 不同的路径

8. 接龙型动态规划(一维的坐标型动态规划)

例题:
【动态规划——接龙型(一维坐标型)】Lintcode 76. 最长上升子序列
【动态规划——接龙型(一维坐标型)】Lintcode 602. 俄罗斯套娃信封

9. 动态规划只能记录一种最优方案,无法记录所有的最优方案

你可以记录这个状态的最优值是从哪过来的。如果你要求出所有的最优方案,可以先用动态规划求出最优方案,并标记每个方案离起点或者终点的最优距离是什么,然后再用深度优先搜索把所有的最优方案搜出来。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值