mirror of
https://github.com/krahets/hello-algo.git
synced 2025-11-02 21:24:53 +08:00
Replace ":" with "。"
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
# 动态规划解题思路
|
||||
|
||||
上两节介绍了动态规划问题的主要特征,接下来我们一起探究两个更加实用的问题:
|
||||
上两节介绍了动态规划问题的主要特征,接下来我们一起探究两个更加实用的问题。
|
||||
|
||||
1. 如何判断一个问题是不是动态规划问题?
|
||||
2. 求解动态规划问题该从何处入手,完整步骤是什么?
|
||||
@ -13,12 +13,12 @@
|
||||
|
||||
换句话说,如果问题包含明确的决策概念,并且解是通过一系列决策产生的,那么它就满足决策树模型,通常可以使用回溯来解决。
|
||||
|
||||
在此基础上,还有一些动态规划问题的“加分项”,包括:
|
||||
在此基础上,动态规划问题还有一些判断的“加分项”。
|
||||
|
||||
- 问题包含最大(小)或最多(少)等最优化描述。
|
||||
- 问题的状态能够使用一个列表、多维矩阵或树来表示,并且一个状态与其周围的状态存在递推关系。
|
||||
|
||||
而相应的“减分项”包括:
|
||||
相应地,也存在一些“减分项”。
|
||||
|
||||
- 问题的目标是找出所有可能的解决方案,而不是找出最优解。
|
||||
- 问题描述中有明显的排列组合的特征,需要返回具体的多个方案。
|
||||
@ -91,7 +91,7 @@ $$
|
||||
|
||||
### 方法一:暴力搜索
|
||||
|
||||
从状态 $[i, j]$ 开始搜索,不断分解为更小的状态 $[i-1, j]$ 和 $[i, j-1]$ ,包括以下递归要素:
|
||||
从状态 $[i, j]$ 开始搜索,不断分解为更小的状态 $[i-1, j]$ 和 $[i, j-1]$ ,递归函数包括以下要素。
|
||||
|
||||
- **递归参数**:状态 $[i, j]$ 。
|
||||
- **返回值**:从 $[0, 0]$ 到 $[i, j]$ 的最小路径和 $dp[i, j]$ 。
|
||||
|
||||
Reference in New Issue
Block a user