题解 GDFZOJ 【647】 完全背包
GDFZOJ原题地址戳这儿
洛谷原模板题戳这儿
这是一道
一、审题
有N件物品和一个容量为
数据范围:
似乎并没有什么关键点,粗略判断时间复杂度,
二、做题
我们发现这道题是不是和这道题与这道题很像?是的这两道题之间的差异只在这一句话
在上一篇题解里我们在一维数组中说到
所以直接从小到大枚举就行啦!!!
三、代码
#include<bits/stdc++.h>
using namespace std;
int aa[1000001],bb[1000001],f[1000001];
int a,b,c,d;
int main()
{
scanf("%d%d",&a,&b);
for(int i=1;i<=b;++i) scanf("%d%d",aa+i,bb+i);
for(int i=1;i<=b;i++)
{
for(int j=aa[i];j<=a;j++)
{
f[j]=max(f[j],f[j-aa[i]]+bb[i]);
}
}
printf("%d",f[a]);
}