多重背包
Posted sxy2004
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多重背包相关的知识,希望对你有一定的参考价值。
#include<iostream> #include<algorithm> using namespace std; int v[6002],w[6002],s[6002],f[6002],n,m; int main(){ cin>>n>>m; for(int i=1;i<=n;i++) cin>>v[i]>>w[i]>>s[i]; for(int i=1;i<=n;i++) for(int j=m;j>=0;j--) for(int k=0;k<=s[i];k++){ if(j-k*v[i]<0) break; f[j]=max(f[j],f[j-k*v[i]]+k*w[i]); } cout<<f[m]; return 0; }
其实和完全背包有点相似,
只是多了一个数量的限制,
ps:我太蒻了qwq
以上是关于多重背包的主要内容,如果未能解决你的问题,请参考以下文章