Loading docs/dp/knapsack.md +10 −6 Original line number Diff line number Diff line Loading @@ -35,7 +35,8 @@ $$ ```cpp for (int i = 1; i <= W; i++) for (int l = 0; l <= W - w[i]; l++) f[l + w[i]] = max(f[l] + v[i], f[l + w[i]]); for (int l = 0; l <= W - w[i]; l++) f[l + w[i]] = max(f[l] + v[i], f[l + w[i]]); // 由 f[i][l + w[i]] = max(max(f[i - 1][l + w[i]],f[i - 1][l] + w[i]),f[i][l + // w[i]]); 简化而来 ``` Loading Loading @@ -68,9 +69,12 @@ for (int i = 1; i <= n; i++) return 0; } ``` ### 为什么不用记忆化搜索 是不是看着这个题目和前面的记忆化搜索很相似,前面是总采药时间,这里是总背包大小,前面是每种药的采集时间,这里是每个物品的体积,所以[wolfdan666](https://github.com/wolfdan666)同学尝试了一发,然后很荣幸得MLE,因为这里可以滚动数组(见上面的例题代码),以及可以看看MLE的记忆化搜索代码 是不是看着这个题目和前面的记忆化搜索很相似,前面是总采药时间,这里是总背包大小,前面是每种药的采集时间,这里是每个物品的体积,所以 [wolfdan666](https://github.com/wolfdan666) 同学尝试了一发,然后很荣幸得 MLE, 因为这里可以滚动数组(见上面的例题代码), 以及可以看看 MLE 的记忆化搜索代码 ??? 记忆化搜索代码会 MLE ```cpp #include<bits/stdc++.h> using namespace std; Loading Loading
docs/dp/knapsack.md +10 −6 Original line number Diff line number Diff line Loading @@ -35,7 +35,8 @@ $$ ```cpp for (int i = 1; i <= W; i++) for (int l = 0; l <= W - w[i]; l++) f[l + w[i]] = max(f[l] + v[i], f[l + w[i]]); for (int l = 0; l <= W - w[i]; l++) f[l + w[i]] = max(f[l] + v[i], f[l + w[i]]); // 由 f[i][l + w[i]] = max(max(f[i - 1][l + w[i]],f[i - 1][l] + w[i]),f[i][l + // w[i]]); 简化而来 ``` Loading Loading @@ -68,9 +69,12 @@ for (int i = 1; i <= n; i++) return 0; } ``` ### 为什么不用记忆化搜索 是不是看着这个题目和前面的记忆化搜索很相似,前面是总采药时间,这里是总背包大小,前面是每种药的采集时间,这里是每个物品的体积,所以[wolfdan666](https://github.com/wolfdan666)同学尝试了一发,然后很荣幸得MLE,因为这里可以滚动数组(见上面的例题代码),以及可以看看MLE的记忆化搜索代码 是不是看着这个题目和前面的记忆化搜索很相似,前面是总采药时间,这里是总背包大小,前面是每种药的采集时间,这里是每个物品的体积,所以 [wolfdan666](https://github.com/wolfdan666) 同学尝试了一发,然后很荣幸得 MLE, 因为这里可以滚动数组(见上面的例题代码), 以及可以看看 MLE 的记忆化搜索代码 ??? 记忆化搜索代码会 MLE ```cpp #include<bits/stdc++.h> using namespace std; Loading