洛谷 P2871 [USACO07DEC]手链Charm Bracelet 题解

题目传送门

这道题明显就是个01背包。所以直接套模板就好啦。

#include<bits/stdc++.h>
#define MAXN 30000
using namespace std;
int f[MAXN],w[MAXN],c[MAXN],n,v;
int main(){
    scanf("%d%d",&n,&v);
    for(int i=1;i<=n;i++)
        scanf("%d%d",&w[i],&c[i]);
    for(int i=1;i<=n;i++)
        for(int j=v;j>=w[i];j--)
            f[j]=max(f[j],f[j-w[i]]+c[i]);
    printf("%d\n",f[v]);
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/yzx1798106406/p/8992808.html