标签:背包问题
特点:该题可以将 物品的体积和价值 都看成物品的体积
dp[i]表示体积为i的箱子最多可以放多少体积的物品
得到转移方程:dp[j]=max(dp[j],dp[j-a]+a)
AC代码:
#include<iostream>
using namespace std;
int main()
{
int n,v,a;
int dp[20005]={0};
cin>>v>>n;
for(int i=1;i<=n;++i)
{
cin>>a;
for(int j=v;j>=a;j--)
{
dp[j]=max(dp[j],dp[j-a]+a);
}
}
cout<<v-dp[v]<<endl;
return 0;
}