//完全背包用优化DP做
//F[i] = max(F[v],F[N - C[i]] + C[i]);
//1a oms
#include <iostream>
#include <cstring>
using namespace std;
int F[10001];
int C[4];
int T;
int N;
int main()
{
C[1] = 150;
C[2] = 200;
C[3] = 350;
cin>>T;
while(T--)
{
cin>>N;
for(int i = 0; i <= N; i++)
{
F[i] = 0;
}
for(int i = 1; i <= 3; i++)
{
for(int j = C[i]; j <= N; j++)
{
F[j] = max(F[j],F[j - C[i]] + C[i]);
}
}
int feil = N - F[N];
cout<<feil<<endl;
}
return 0;
}
hdu 1248 完全背包
最新推荐文章于 2021-04-14 20:18:56 发布
本文介绍了一种使用优化动态规划解决完全背包问题的方法,并通过具体代码实例展示了如何求解物品价值最大化的算法过程。

5万+

被折叠的 条评论
为什么被折叠?



