01背包

【问题】

一个容量为m公斤的背包。现有n种物品,每种物品只有一件,它们的重

量分别为Wi(1≤i≤n),它们的价值分别为Ci(1≤i≤n)。求能放入背包的最

大价值。

【输入】

第一行:两个整数,n(物品数量,n<51)和m(背包容量,m<201)。

第2 ... n+1行:每行两个整数Wi,Ci,表示每个物品的重量和价值。

【输出】

一个数,表示最大价值。

【样例输入】

3 6

3 5

2 3

4 6

【样例输出】

9

复制代码
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++){
            if(w[i]>j)
                f[i][j]=f[i-1][j];
            else
                f[i][j]=max(f[i-1][j],f[i-1][j-w[i]]+c[i]);
        }
    printf("%d",f[n][m]);
相关推荐
先积累问题,再逐次解决7 小时前
快速幂优美算法
算法
XiYang-DING8 小时前
【LeetCode】 225.用队列实现栈
算法·leetcode·职场和发展
花月C8 小时前
线性动态规划(Linear DP)
算法·动态规划·代理模式
hetao17338378 小时前
2025-03-24~04-06 hetao1733837 的刷题记录
c++·算法
_深海凉_9 小时前
LeetCode热题100-环形链表
算法·leetcode·链表
原来是猿9 小时前
Linux进程信号详解(三):信号保存
开发语言·c++·算法
2401_892070989 小时前
算法与数据结构精讲:最大子段和(暴力 / 优化 / 分治)+ 线段树从入门到实战
c++·算法·线段树·最大子段和
memcpy09 小时前
LeetCode 904. 水果成篮【不定长滑窗+哈希表】1516
算法·leetcode·散列表
老四啊laosi9 小时前
[双指针] 8. 四数之和
算法·leetcode·四数之和