题解 1924: 蓝桥杯算法提高VIP-01背包

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

01背包(动态规划)

摘要:解题思路:动态规划 对于01背包问题选择方法的集合可以分成2种: ①不选第i个物品,并且总体积不大于j的集合所达到的最大值:f[i-1][j] ②选择1~i个物品,并且总体积不大于j的集合所达……

和采药一样

摘要:#include <stdio.h>int max(int a,int b){    if(a>b)    {        return a;    }else{        return b; ……

蓝桥杯算法提高VIP-01背包

摘要:解题思路:简单的0-1背包问题。注意事项:注意第二层循环时,j要从m到weight[i]依次递减下去。不然会出现同一物品被选多次的场景。(该种情况是完全背包的解题方法)参考代码:import java……

VIP-01背包(简洁)

摘要:#include<stdio.h>#include<string.h>int a[1000][10000];int main(){ int n, m; scanf("%d%d", &n, &m); i……

题解 1924: 蓝桥杯算法提高VIP-01背包

摘要:解题思路: dp[i][j]表示面对第 i 个物品时,最大重量 j 的背包所拥有的最大价值打表,找出状态转移方程:if(j<w[i]){  //不拿 dp[i][j]=dp[i-1][j]; ……

O(VN)_一维数组01背包

摘要:01背包:为什么将二维改成一维要逆序呢:显然,根据二维的动态方程dp[i] [j] = max(dp[i] [j], dp[i] [ j - v[i] ] + w[i])dp[i] [j]只取决与i-……

逆推求解c++

摘要:解题思路:经典的01背包问题,本题只需要最后结果,在优化算法中用一维数组去求解,因为每轮中只需要第i-1阶段的结果去更新第i阶段。注意事项:背包容量的一维数组是需要从0-m;所以定义数组的时候需要m+……