标签:表示 highlight pac turn def col space void pre
通用
#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<algorithm> #define maxn 1100 using namespace std; //dp[i][j]-----表示从第i个开始选,重量不超过j的价值 int dp[maxn][maxn]; int weight[maxn],value[maxn]; int n;//总个数 int W;//允许最大重量 void init() { memset(dp,0,sizeof(dp)); scanf("%d%d",&n,&W); for(int i=0;i<n;i++) scanf("%d%d",&weight[i],&value[i]); }
dp算法
int main() { init(); for(int i=n-1;i>=0;i--) { for(int j=0;j<=W;j++) { if(weight[i]>j) dp[i][j]=dp[i+1][j]; else dp[i][j]=max(dp[i+1][j],dp[i+1][j-weight[i]]+value[i]); } } cout<<dp[0][W]<<endl; return 0; }
暴力算法
int work(int nn,int wei)//到第n个,剩余重量为weight { int res=0; if(nn==n) return res; if(wei<weight[nn]) res=work(nn+1,wei); else res=max(work(nn+1,wei),work(nn+1,wei-weight[nn])+value[nn]); return res; } int main() { init(); cout<<work(0,W); return 0; }
标签:表示 highlight pac turn def col space void pre
原文地址:https://www.cnblogs.com/Joe2019/p/14404187.html