Unify punctuation.

This commit is contained in:
krahets
2023-07-26 08:59:36 +08:00
parent 35973068a7
commit 63a0e73df0
46 changed files with 201 additions and 201 deletions

View File

@@ -12,13 +12,13 @@
完全背包和 0-1 背包问题非常相似,**区别仅在于不限制物品的选择次数**。
- 在 0-1 背包中,每个物品只有一个,因此将物品 $i$ 放入背包后,只能从前 $i-1$ 个物品中选择
- 在完全背包中,每个物品有无数个,因此将物品 $i$ 放入背包后,**仍可以从前 $i$ 个物品中选择**
- 在 0-1 背包中,每个物品只有一个,因此将物品 $i$ 放入背包后,只能从前 $i-1$ 个物品中选择
- 在完全背包中,每个物品有无数个,因此将物品 $i$ 放入背包后,**仍可以从前 $i$ 个物品中选择**
这就导致了状态转移的变化,对于状态 $[i, c]$ 有:
- **不放入物品 $i$** :与 0-1 背包相同,转移至 $[i-1, c]$
- **放入物品 $i$** :与 0-1 背包不同,转移至 $[i, c-wgt[i-1]]$
- **不放入物品 $i$** :与 0-1 背包相同,转移至 $[i-1, c]$
- **放入物品 $i$** :与 0-1 背包不同,转移至 $[i, c-wgt[i-1]]$
从而状态转移方程变为:
@@ -200,9 +200,9 @@ $$
**零钱兑换可以看作是完全背包的一种特殊情况**,两者具有以下联系与不同点:
- 两道题可以相互转换,“物品”对应于“硬币”、“物品重量”对应于“硬币面值”、“背包容量”对应于“目标金额”
- 优化目标相反,背包问题是要最大化物品价值,零钱兑换问题是要最小化硬币数量
- 背包问题是求“不超过”背包容量下的解,零钱兑换是求“恰好”凑到目标金额的解
- 两道题可以相互转换,“物品”对应于“硬币”、“物品重量”对应于“硬币面值”、“背包容量”对应于“目标金额”
- 优化目标相反,背包问题是要最大化物品价值,零钱兑换问题是要最小化硬币数量
- 背包问题是求“不超过”背包容量下的解,零钱兑换是求“恰好”凑到目标金额的解
**第一步:思考每轮的决策,定义状态,从而得到 $dp$ 表**
@@ -214,8 +214,8 @@ $$
与完全背包的状态转移方程基本相同,不同点在于:
- 本题要求最小值,因此需将运算符 $\max()$ 更改为 $\min()$
- 优化主体是硬币数量而非商品价值,因此在选中硬币时执行 $+1$ 即可
- 本题要求最小值,因此需将运算符 $\max()$ 更改为 $\min()$
- 优化主体是硬币数量而非商品价值,因此在选中硬币时执行 $+1$ 即可
$$
dp[i, a] = \min(dp[i-1, a], dp[i, a - coins[i-1]] + 1)