洛谷 P1616 疯狂的采药 (完全背包)

题目链接

本题就是完全背包。直接套用模板即可。

关于完全背包的讲解可以去看背包九讲。

注意开long long。

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
typedef long long ll;
long long t,m,a[10005],b[10005],f[10000005]; 
int main(){
    scanf("%lld%lld",&t,&m);
    for(int i=0;i<m;i++)
        scanf("%lld%lld",&a[i],&b[i]);
    for(int i=0;i<m;i++){
        for(int j=a[i];j<=t;j++)
            f[j]=max(f[j],f[j-a[i]]+b[i]);
    }
    printf("%lld",f[t]);
}

 

posted @ 2021-02-19 17:39  mikku  阅读(37)  评论(0)    收藏  举报