01背包问题
Posted sxy2004
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了01背包问题相关的知识,希望对你有一定的参考价值。
#include<iostream> #include<algorithm> using namespace std; int m,n,w[31],c[31],f[31][201],p; int main(){ cin>>m>>n; for(int i=1;i<=n;i++) cin>>w[i]>>c[i]; for(int i=1;i<=n;i++){ for(int v=m;v>0;v--){ if(w[i]<=v) f[i][v]=max(f[i-1][v],f[i-1][v-w[i]]+c[i]); else f[i][v]=f[i-1][v]; } } cout<<f[n][m]; return 0; }
一道经典的01背包qwq,
莫得题目(其实就相当于是板子!),
可能是我太菜了233...
以上是关于01背包问题的主要内容,如果未能解决你的问题,请参考以下文章
代码随想录算法训练营第四十二天 | 01背包问题,你该了解这些01背包问题,你该了解这些 滚动数组 416. 分割等和子集