优化01背包 自右向左遍历
完全背包自左向右遍历 只有循环的初始化和终止条件不一样
#include <bits/stdc++.h>
using namespace std;
const int N=1e3+9;
int dp[N];
int main()
{
int n,m;cin>>n>>m;
for(int t=1;t<=n;++t)
{
int w,v;cin>>w>>v;
for(int i=w;i<=m;++i)
{
dp[i]=max(dp[i],dp[i-w]+v);
}
}
cout<<dp[m];
return 0;
}

5628

被折叠的 条评论
为什么被折叠?



