POJ 3624 Charm Bracelet(DP动态规划+滚动数组)

#include<cstdio> #include<iostream> using namespace std; int f[15000]; int max(int a, int b) { return a >b ? a: b; } int main() { int maxd = -1,n,m,w,d; scanf("%d%d",&n,&m); //滚动数组 memset(f,0,sizeof(f)); for(int i = 1;i <= n;++i) { scanf("%d%d",&w,&d); for(int j = m;j >= 1;--j) { if(j >= w) f[j] = max(d + f[j-w], f[j]); if(f[j] > maxd) maxd = f[j]; } } printf("%d/n",maxd); return 0; }  

你可能感兴趣的:(POJ 3624 Charm Bracelet(DP动态规划+滚动数组))