Skip to content

Commit

Permalink
fix: typo
Browse files Browse the repository at this point in the history
  • Loading branch information
robot committed Jun 21, 2021
1 parent e66a78b commit e3d3fff
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions problems/312.burst-balloons.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ var maxCoins = function (nums) {

而对于 dp[i][j],i 和 j 之间会有很多气球,到底该戳哪个先呢?我们直接设为 k,枚举选择最优的 k 就可以了。所以,最终的状态转移方程为:`dp[i][j] = max(dp[i][j], dp[i][k] + dp[k][j] + nums[k] * nums[i] * nums[j])`。由于是开区间,因此 k 为 i + 1, i + 2... j - 1。

> 这就是典型的枚举分割点 DP,大家一定要掌握哦~
> 这就是典型的枚举分割点 ”区间 DP“,大家一定要掌握哦~
3. 初始值和边界

Expand All @@ -123,8 +123,8 @@ var maxCoins = function (nums) {

### 关键点

- 这道题属于是切割型 dp
- 反向思考
- 区间 DP
- 反向思考。不是戳气球,而是添加气球。
- 遍历方向的确定

### 代码
Expand Down Expand Up @@ -211,7 +211,7 @@ class Solution:

简单的 dp 题目会直接告诉你怎么定义状态,告诉你怎么选择计算,你只需要根据套路判断一下能不能用 dp 解题即可,而判断能不能,往往暴力就是突破口。

这道题如果从空数组反向思考,则避免了因为数组变化导致的状态变化而难以处理的问题,是一种常见的技巧。另外此题属于典型的分割 DP 问题。分割 DP 问题通常都是两层循环枚举所有的左右端点,再用一层循环枚举所有的割点,也就是三层循环,时间复杂度也是 $O(n^3)$。
这道题如果从空数组反向思考,则避免了因为数组变化导致的状态变化而难以处理的问题,是一种常见的技巧。另外此题属于典型的分割 DP 问题。区间问题通常都是两层循环枚举所有的左右端点,再用一层循环枚举所有的割点,也就是三层循环,时间复杂度也是 $O(n^3)$。

更多题解可以访问我的 LeetCode 题解仓库:https://github.com/azl397985856/leetcode 。 目前已经 30K star 啦。

Expand Down

0 comments on commit e3d3fff

Please sign in to comment.