这数据真是水啊。。。
查看原帖
这数据真是水啊。。。
580872
zhuyin123楼主2022/1/2 22:51

明显的多重背包板子题,我就想试试直接枚举每种物品选几个,既没单调队列也没二进制压缩试试能过几个点没想到开氧直接A了。。 https://www.luogu.com.cn/record/66182261

#include<bits/stdc++.h>
using namespace std;
int dp[100005];
int n,m;
int v[100005],w[100005],s[100005];
int main()
{
	cin>>n>>m;
	for(int i = 1;i<=n;++i)
		cin>>w[i]>>v[i]>>s[i];
	for(int i = 1;i<=n;++i)
		for(int j = m;j>=0;--j)
			for(int k = 1;k<=s[i]&&k*v[i]<=j;++k)
				dp[j] = max(dp[j],dp[j-k*v[i]]+k*w[i]);
	cout<<dp[m]<<endl;
	return 0;
}
2022/1/2 22:51
加载中...