多重背包

Posted aixin52129211

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多重背包相关的知识,希望对你有一定的参考价值。

#include<bits/stdc++.h>
using namespace std;
const int N=110;
int f[N][N];
int main()
    int n,m;
    cin>>n>>m;
    int v[N],w[N],s[N];
    for(int i=1;i<=n;i++) cin>>v[i]>>w[i]>>s[i];
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            for(int k=0;k*v[i]<=j&&k<=s[i];k++)
                f[i][j]=max(f[i][j],f[i-1][j-k*v[i]]+k*w[i]);
            
        
    
    cout<<f[n][m]<<endl;
    return 0;


 

 

多重背包笔记

多重背包笔记 前置芝士 在看本文之前,需要掌握: 基础dp背包算法; 单调队列 多重背包问题是什么 多重背包是指这样一类问题:给定$n$种物体,每种物体具有三个属性$v$,$w$,$c$,分别代表其体积,价值和数量。要求在其中选出一些,满足第$i$种物品最多选择$c_i$个,体积总和$sum_v \\

以上是关于多重背包的主要内容,如果未能解决你的问题,请参考以下文章

多重背包

动态规划多重背包问题

AcWing 4. 多重背包问题(多重背包 朴素版)

多重背包问题

背包问题——(多重背包)

01背包完全背包多重背包分组背包总结