mirror of
https://github.com/krahets/hello-algo.git
synced 2025-11-02 12:58:42 +08:00
Add subtitles to docs
This commit is contained in:
@ -61,6 +61,8 @@ $$
|
||||
|
||||
观察状态转移方程,解 $dp[i, j]$ 依赖左方、上方、左上方的解,因此通过两层循环正序遍历整个 $dp$ 表即可。
|
||||
|
||||
### 代码实现
|
||||
|
||||
=== "Java"
|
||||
|
||||
```java title="edit_distance.java"
|
||||
@ -174,6 +176,8 @@ $$
|
||||
=== "<15>"
|
||||

|
||||
|
||||
### 状态压缩
|
||||
|
||||
下面考虑状态压缩,将 $dp$ 表的第一维删除。由于 $dp[i,j]$ 是由上方 $dp[i-1, j]$ 、左方 $dp[i, j-1]$ 、左上方状态 $dp[i-1, j-1]$ 转移而来,而正序遍历会丢失左上方 $dp[i-1, j-1]$ ,倒序遍历无法提前构建 $dp[i, j-1]$ ,因此两种遍历顺序都不可取。
|
||||
|
||||
为解决此问题,我们可以使用一个变量 `leftup` 来暂存左上方的解 $dp[i-1, j-1]$ ,这样便只用考虑左方和上方的解,与完全背包问题的情况相同,可使用正序遍历。
|
||||
|
||||
Reference in New Issue
Block a user