本文共 583 字,大约阅读时间需要 1 分钟。
01背包模版题:倒着扫开销,可以避免重复使用物品
多重背包:正着扫开销,每个物品可以多次使用// ShellDawn// POJ3624// No.35#include#include #include #include #include #include #define MM(x,y) memset(x,y,sizeof(x))#define INF 0x3f3f3f3f#define LL long longusing namespace std;//#define maxn 3500#define maxm 13000int dp[maxm];int num[maxn][2]; // w,v;int N,M;int main(){ scanf("%d%d",&N,&M); for(int i=0;i =num[i][0];j--){ // 费用 dp[j] = max(dp[j],dp[j-num[i][0]] + num[i][1]); } for(int j=0;j<=M;j++) printf("%d ",dp[j]); puts(""); } printf("%d\n",dp[M]); return 0;}
转载地址:http://vnwji.baihongyu.com/