社区讨论

求助大佬QAQ

P1064[NOIP 2006 提高组] 金明的预算方案参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@m5vsl3td
此快照首次捕获于
2025/01/14 09:26
去年
此快照最后确认于
2025/11/04 11:38
4 个月前
查看原帖
Subtask#1Subtask \#1 通过,Subtask#0Subtask \#0WAWA
CPP
#include<iostream>
using namespace std;
long long m , n , a[2][60][32005] , w[60] , v[60] , z[60];
int main(){
	cin >> m >> n;
	for(int i=1;i<=n;i++){
		cin >> w[i] >> v[i] >> z[i];v[i] *= w[i];
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			if(w[i]>j)a[0][i][j] = a[0][i-1][j];
			else if(z[i]>0) a[1][i][j] = a[1][z[i]][j-w[i]] + v[i] , a[0][i][j] = max(a[0][i][j],a[0][i-1][j-w[i]]+v[i]);
			else a[0][i][j] = max(a[0][i][j],a[0][i-1][j-w[i]]+v[i]) , a[1][i][j] = a[0][i-1][j-w[i]] + v[i];
		}
	}
	cout << max(a[0][n][m],a[1][n][m]);
	return 0;
}

回复

3 条回复,欢迎继续交流。

正在加载回复...