寒冰王座(HDU 1248)(完全背包)
作者:互联网
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1248
完全背包的模板题
代码:
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <queue>
#include <cmath>
#include <cstring>
#include <string>
#include <vector>
#include <set>
#include <stack>
#include <list>
#include <map>
#define P(x) x>0?x:0
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;
typedef vector<int>:: iterator VITer;
const int maxN=1e4+5;//最大货币面值
const int a[3]={150,200,350};
int N;
int dp[maxN];//能花的最多的钱
int ans;
int v[maxN];
void init()
{
memset(dp,0, sizeof(dp));
ans=0;
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
init();
scanf("%d",&N);
for(int i=0;i<3;i++)
{
for(int j=a[i];j<=N;j++)
{
dp[j]=max(dp[j],dp[j-a[i]]+a[i]);
}
}
for(int i=1;i<=N;i++)
{
ans=max(ans,dp[i]);
}
printf("%d\n",N-ans);
}
return 0;
}
标签:HDU,王座,int,maxN,ans,1248,include,dp,const 来源: https://blog.csdn.net/weixin_44049850/article/details/94717830