数据水了
查看原帖
数据水了
905268
Underage_potato楼主2023/6/1 18:18

rt,

下面这份代码以及这份题解是不对的,但是在现有数据下可以通过,所以请求加强数据。

#include<bits/stdc++.h>
using namespace std;
int dp[1000100][2],n,ans;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>dp[i][1];
	}
	ans=dp[1][1];
	for(int i=1;i<n;i++){
		int u,v;
		cin>>u>>v;
		dp[v][1]+=dp[u][0];
		dp[v][0]+=max(dp[u][1],dp[u][0]);
		ans=max(ans,max(dp[v][1],dp[v][0]));
	}
	cout<<ans;
	return 0;
}

要卡掉的话,原来数据边都是按顺序输入的,将其 randomshuffle();random_shuffle(); 一下就不对了。

2023/6/1 18:18
加载中...