01背包裸题
Posted passion27
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了01背包裸题相关的知识,希望对你有一定的参考价值。
#include"cstdio" #include"cstring" #include"algorithm" using namespace std; int N,W; int w[105],p[105]; int dp[10005]; void DP() { for(int i=1; i<=N; i++) for(int c=W; c>=w[i]; c--) dp[c] = max(dp[c],dp[c-w[i]]+p[i]); } int main() { int t; scanf("%d",&t); while(t--){ memset(dp,0,sizeof(dp)); scanf("%d%d",&N,&W); for(int i=1;i<=N;i++) { scanf("%d%d",&w[i],&p[i]); } DP(); printf("%d\n",dp[W]); } return 0; }
以上是关于01背包裸题的主要内容,如果未能解决你的问题,请参考以下文章
POJ 3624 Charm Bracelet(01背包裸题)
HDU 2602 Bone Collector(01背包裸题)