狠狠的卡在背包上
查看原帖
狠狠的卡在背包上
672360
Ch35楼主2022/7/5 13:41

初学背包,似乎不太好。我互联网、题解都翻过了,但都没起到一点作用,对于如何找到转移方程还是一头雾水,向大佬们求助,谢谢!

#include<bits/stdc++.h>
using namespace std;
int c[1000],w[1000],dp[1000][1000],n,m;
int main(){
	cin>>m>>n;
	for(int i=1;i<=n;i++)cin>>w[i]>>c[i];
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++)dp[i][j]=max(dp[i-1][j],dp[i][j-w[i]]+c[j]);//我蒙出来的
	}
	cout<<dp[n][m];
	return 0;
}
2022/7/5 13:41
加载中...