mirror of
https://github.com/krahets/hello-algo.git
synced 2026-04-14 02:10:37 +08:00
build
This commit is contained in:
@@ -25,7 +25,7 @@ status: new
|
||||
|
||||

|
||||
|
||||
<p align="center"> Fig. 爬到第 3 阶的最小代价 </p>
|
||||
<p align="center"> 图:爬到第 3 阶的最小代价 </p>
|
||||
|
||||
设 $dp[i]$ 为爬到第 $i$ 阶累计付出的代价,由于第 $i$ 阶只可能从 $i - 1$ 阶或 $i - 2$ 阶走来,因此 $dp[i]$ 只可能等于 $dp[i - 1] + cost[i]$ 或 $dp[i - 2] + cost[i]$ 。为了尽可能减少代价,我们应该选择两者中较小的那一个,即:
|
||||
|
||||
@@ -248,7 +248,7 @@ $$
|
||||
|
||||

|
||||
|
||||
<p align="center"> Fig. 爬楼梯最小代价的动态规划过程 </p>
|
||||
<p align="center"> 图:爬楼梯最小代价的动态规划过程 </p>
|
||||
|
||||
本题也可以进行状态压缩,将一维压缩至零维,使得空间复杂度从 $O(n)$ 降低至 $O(1)$ 。
|
||||
|
||||
@@ -447,7 +447,7 @@ $$
|
||||
|
||||

|
||||
|
||||
<p align="center"> Fig. 带约束爬到第 3 阶的方案数量 </p>
|
||||
<p align="center"> 图:带约束爬到第 3 阶的方案数量 </p>
|
||||
|
||||
在该问题中,如果上一轮是跳 $1$ 阶上来的,那么下一轮就必须跳 $2$ 阶。这意味着,**下一步选择不能由当前状态(当前楼梯阶数)独立决定,还和前一个状态(上轮楼梯阶数)有关**。
|
||||
|
||||
@@ -469,7 +469,7 @@ $$
|
||||
|
||||

|
||||
|
||||
<p align="center"> Fig. 考虑约束下的递推关系 </p>
|
||||
<p align="center"> 图:考虑约束下的递推关系 </p>
|
||||
|
||||
最终,返回 $dp[n, 1] + dp[n, 2]$ 即可,两者之和代表爬到第 $n$ 阶的方案总数。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user