ural大學有n名職員,編號為1~n。
他們的關係就像一棵以校長為根的樹,父節點就是子節點的直接上司。
每個職員有乙個快樂指數,用整數 hi 給出,其中 1≤i≤n。
現在要召開一場周年慶宴會,不過,沒有職員願意和直接上司一起參會。
在滿足這個條件的前提下,主辦方希望邀請一部分職員參會,使得所有參會職員的快樂指數總和最大,求這個最大值。
輸入格式
第一行乙個整數n。
接下來n行,第 i 行表示 i 號職員的快樂指數hi。
接下來n-1行,每行輸入一對整數l, k,表示k是l的直接上司。
輸出格式
輸出最大的快樂指數。
資料範圍
1≤n≤6000,
−128≤hi≤127
輸入樣例:71
1111
111 32 3
6 47 4
4 53 5
輸出樣例:
5
#include
using
namespace std;
const
int n=
6e3+7;
int f[n][3
],ne[n]
,head[n]
,cnt,e[n]
,w[n]
;bool root[n]
;void
add(
int a,
int b)
void
dfs(
int x)
}int
main()
int r=1;
while
(root[r]
) r++
;dfs
(r);
cout<<
max(f[r][0
],f[r][1
])<}
樹形dp 沒有上司的舞會
題意 給定一棵樹,每個點有權值,對於每乙個點,它和它的父節點不能同時被選,求權值最大值。定義d p x 0 dp x 0 表示不選擇x號點時的最大值,dp x 1 d p x 1 表示選擇 x x 號點時的最大值。對於x role presentation style position relati...
沒有上司的舞會 樹形DP
ural大學有n名職員,編號為1 n。他們的關係就像一棵以校長為根的樹,父節點就是子節點的直接上司。每個職員有乙個快樂指數,用整數 hi 給出,其中 1 i n。現在要召開一場周年慶宴會,不過,沒有職員願意和直接上司一起參會。在滿足這個條件的前提下,主辦方希望邀請一部分職員參會,使得所有參會職員的快...
沒有上司的舞會(樹形dp)
ural大學有n名職員,編號為1 n。他們的關係就像一棵以校長為根的樹,父節點就是子節點的直接上司。每個職員有乙個快樂指數,用整數 hi 給出,其中 1 i n。現在要召開一場周年慶宴會,不過,沒有職員願意和直接上司一起參會。在滿足這個條件的前提下,主辦方希望邀請一部分職員參會,使得所有參會職員的快...