01背包求解A+B
2026-04-18 17:46:27
发布于:浙江
6阅读
0回复
0点赞
通过瞪眼法我们可以看出这道题可以使用01背包进行求解。
我们可以将 和 看作两个重量为 ,价值分别为 和 的两个物品,然后就可以使用01背包了。
代码如下
#include <bits/stdc++.h>
using namespace std;
long long w[5],v[5],dp[10],n=2,c=2;
int main(){
cin >> v[1] >> v[2];
w[1] = w[2] = 1;
for(int i=1;i <=n;i++){
for(int j=c;j >=w[i];j--) dp[j] = max(dp[j-w[i]]+v[i],dp[j]);
}
cout << dp[c];
return 0;
}
也是可以通过的。
全部评论 1
顶
1周前 来自 浙江
0


有帮助,赞一个