请求加强数据
查看原帖
请求加强数据
1351155
liuzhuoran141516楼主2024/12/28 13:18

#include<bits/stdc++.h>
#define int long long
using namespace std;
void read(int &x){
	x = 0;
	bool f = 0;
	char ch = getchar();
	while(ch > '9' || ch < '0') {
		if(ch == '-') {
			f = 1;
		}
		ch = getchar();
	}
	do {
		x = (x << 3) + (x << 1) + ch - '0';
		ch = getchar();	
	} while (ch >= '0' && ch <= '9');
	x = f?-x:x;
}
int n, m, v, w, u, dp[40005];
signed main(){
	read(n);
	read(m);
	for(int i = 1; i <= n; i++) {
		read(v);
		read(w);
		read(u);
		for(int k = m; k >= w; k--) {
			for(int j = 1; j <= u && j * w <= k; j++) {
				dp[k] = max(dp[k], dp[k - w * j] + v * j);
			}
		}
	}
	cout << dp[m];
	return 0;
}

是的,不优化的背包 dp 加快读 A了

2024/12/28 13:18
加载中...