01背包2.0(最优版)
动态规划
C++
公开
01背包2.0(最优版).cpp
#include<bits/stdc++.h>
using namespace std;
int w[5]={0,2,3,7,4};
int v[5]={0,1,3,9,5};
int dp[11];
int main()
{
for(int i=1;i<=4;i++)
for(int j=10;j>=w[i];j--)
dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
cout<<dp[10];
return 0;
}