洛谷 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]); }

浙公网安备 33010602011771号