[背包问题]
2026-07-28 12:06:19
发布于:广东
46阅读
0回复
0点赞
首先,这道题很明显,是一个背包,用模板就行了
#include<bits/stdc++.h>
using namespace std;
long long n,m,w[10010],v[10001],dp[100010],maxx=-1e8;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>w[i]>>v[i];
for(int i=1;i<=n;i++){
for(int j=m;j>=w[i];j--){//倒序,否责成完全背包
dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
}
}
cout<<dp[m]<<endl;
return 0;
}
这里空空如也








有帮助,赞一个