vijos1706 舞會 樹形dp

2022-08-28 19:00:10 字數 1149 閱讀 7998

一道不知道是不是樹形dp的水題。。

就是選了乙個點不能選他的父親和兒子。 求乙個最大值

見**arthur公司是乙個等級森嚴的公司,它們有著嚴格的上司與下屬的關係,公司以總 裁為最高職位,他有若干個下屬,他的下屬又有若干個下屬,他的下屬的下屬又有若干個下屬……現接近年尾,公司組織團拜活動,活動中有一部分是自由舞會,公 司的每個職員都有乙個搞笑值,現要你制定一套哪些人上台的方案,使得台上所有演員的搞笑值最大。當然,職員們是不會和他們的頂頭上司一起上台的。

第一行乙個整數n,表示這個公司總共的職員個數。

接下來一行有n個整數,由空格隔開,第i個整數表示職員i的搞笑值ai(-1327670≤ai≤1327670)。

接下來n-1行,每行乙個1到n的整數,第i個整數表示職員i+1的頂頭上司是誰,當然總裁就是職員1。

乙個整數,表示台上所有職員搞笑值之和的最大值。

7

1 1 1 1 1 1 111

5144

5

【資料範圍】

保證100%的資料n≤5000

ural 由xzx改編

**:

1 #include 2 #include 3 #include 4

using

namespace

std;

5#define max 5000+10

6 vectorson[max];

7int

fun[max];

8intn;9

int dp[max][2

];10

int dfs(int i,int

part)

1121

return

d ;22}23

if( part == 1)24

29return d= d+fun[i];30}

31}32int

main()

3339

for(int i=2;i<=n;i++)

4045 printf("

%d\n

",max(dfs( 1,0),dfs(1,1

)));

46return0;

47 }

樹形dp 沒有上司的舞會 模板題 樹形dp

樹形dp思維門檻高,但是跨過門檻之後,思維難度卻不高。這點非常類似於 關鍵是要體會採用二進位制數來表示狀態的思想,要轉變傳統思維,學習接收並吸收這種思想。285.沒有上司的舞會 簡單模擬樣例,便於理解 樣例的高興度都是 1,那就是挑選沒有相鄰邊的盡量多的點 樹形dp思路 重點 狀壓dp 思路 狀態轉...

樹形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。現在要召開一場周年慶宴會,不過,沒有職員願意和直接上司一起參會。在滿足這個條件的前提下,主辦方希望邀請一部分職員參會,使得所有參會職員的快...