黄海 1 year ago
commit 1be8f64792

@ -131,7 +131,7 @@ int main() {
$A:$我们可以将结论推广到不同属性的情况下,本题的属性是数量,但如果是最大价值呢?
我们不难得到需要将$f[0]$初始化为$0$$f[1\sim n]$初始化为负无穷
为什么要这样设置呢?因为每一个新状态,都需要知道它可以从哪些旧状态转移而来,如果上一个状态是合法的,那么有可能从上一个状态转移而来,但如何标识上一个状态是不是合法呢?比如如果初始化状态值是$0$,并且上一个状态是$0$,表示的是目前的最大值,那是不合法呢?不好说啊,为什么呢?
为什么要这样设置呢?因为每一个新状态,都需要知道它可以从哪些旧状态转移而来,如果上一个状态是合法的,那么有可能从上一个状态转移而来,但如何标识上一个状态是不是合法呢?比如如果初始化状态值是$0$,并且上一个状态是$0$,表示的是目前的最大值,那是不合法呢?不好说啊,为什么呢?
* 上一个状态不合法,没有状态转移过来
* 上一个状态合法,因为有负数等原因,造成最大值确实为$0$

@ -37,13 +37,16 @@ $1≤T≤1000$,$1≤M≤100$
### 二、题目解析
注意一下$m$和$n$的录入顺序。
**01背包模型**
**状态表示$f(i,j)$—集合** 考虑前 $i$ 个物品,且当前已使用体积为$ j$ 的方案
**状态表示**
**状态表示$f(i,j)$—属性** 该方案的价值为最大值 $max$
$f(i,j)$
- **集合**
考虑前 $i$ 个物品,且当前已使用体积为$ j$ 的方案
- **属性**
该方案的价值为最大值 $max$
**状态转移$f(i,j)$**
@ -65,7 +68,6 @@ $$f(i,j)=\begin{equation}
### 三、二维朴素作法
空间复杂度:$O(n×m)$
时间复杂度:$O(n×m)$
```cpp {.line-numbers}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save