luogu_1352 没有上司的舞会

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了luogu_1352 没有上司的舞会相关的知识,希望对你有一定的参考价值。

#include <bits/stdc++.h>
using namespace std;
int r[6005],dp[6005][2];
bool is_son[6005];
vector<int> son[6005];
int solve(int n,int k){
	if(~dp[n][k])
		return dp[n][k];
	if(!son[n].size()){
		dp[n][k]=k*r[n];
		return dp[n][k];
	}
	int ans=0;
	for(int i=0;i<son[n].size();i++)
		if(k)
			ans+=solve(son[n][i],0);
		else
			ans+=max(solve(son[n][i],0),solve(son[n][i],1));
	dp[n][k]=max(ans+r[n]*k,dp[n][k]);
	return dp[n][k];
}
int main(){
int n;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		scanf("%d",&r[i]);
	for(int i=1;i<n;i++){
		int a,b;
		scanf("%d%d",&a,&b);
		son[b].push_back(a);
		is_son[a]=true;
	}
	memset(dp,-1,sizeof(dp));
	for(int i=1;i<=n;i++)
		if(!is_son[i]){
			printf("%d\n",max(solve(i,1),solve(i,0)));
			break;
		}
	return 0;
}

  

以上是关于luogu_1352 没有上司的舞会的主要内容,如果未能解决你的问题,请参考以下文章

luogu P1352 没有上司的舞会 x

Luogu P1352 没有上司的舞会

luogu1352没有上司的舞会 - 树形dp

[luogu]P1352 没有上司的舞会[树形DP]

Luogu P1352 没有上司的舞会

luogu P1352ybtoj 树形DP课堂过关 例题1树上求和 & 没有上司的舞会