SSL 1607 沒有上司的晚會

2021-07-25 10:48:02 字數 1020 閱讀 3337

ural大學有n個職員,編號為1~n。他們有從屬關係,也就是說他們的關係就像一棵以校長為根的樹,父結點就是子結點的直接上司。每個職員有乙個快樂指數。現在有個周年慶宴會,要求與會職員的快樂指數最大。但是,沒有職員願和直接上司一起與會。

第一行乙個整數n。(1<=n<=6000)

接下來n行,第i+1行表示i號職員的快樂指數ri。(-128<=ri<=127)

接下來n-1行,每行輸入一對整數l,k。表示k是l的直接上司。

最後一行輸入0,0。

輸出最大的快樂指數。

7 1

1 1

1 1

1 1

1 3

2 3

6 4

7 4

4 5

3 5

0 0裸的樹形dp,我們用f[x]表示選x的最大值g[x]表示不選x的最大價值,很明顯

f[x]=g[father[x]]+f[x];

g[x]=max(f[father[x]],g[father[x]])+g[x];

#include 

#include

#include

#define n 10000

struct note

e[n];

int tot,n,root;

int head[n];

int f[n],g[n],h[n];

bool v[n];

void add(int x,int y)

void dp(int now)

}int main()

for(int i=1;iint x,y;

scanf("%d%d",&x,&y);

add(y,x);

v[x]=true;

}for(int i=1;i<=n;i++)

}dp(root);

printf("%d\n",std::max(f[root],g[root]));

}

SSL 1607 沒有上司的晚會

ural大學有n個職員,編號為1 n。他們有從屬關係,也就是說他們的關係就像一棵以校長為根的樹,父結點就是子結點的直接上司。每個職員有乙個快樂指數。現在有個周年慶宴會,要求與會職員的快樂指數最大。但是,沒有職員願和直接上司一起與會。第一行乙個整數n。1 n 6000 接下來n行,第i 1行表示i號職...

SSL1607 沒有上司的晚會 樹形DP

ural大學有n個職員,編號為1 n。他們有從屬關係,也就是說他們的關係就像一棵以校長為根的樹,父結點就是子結點的直接上司。每個職員有乙個快樂指數。現在有個周年慶宴會,要求與會職員的快樂指數最大。但是,沒有職員願和直接上司一起與會。第一行乙個整數n。1 n 6000 接下來n行,第i 1行表示i號職...

SSL1607 沒有上司的舞會

ural大學有n個職員,編號為1 n。他們有從屬關係,也就是說他們的關係就像一棵以校長為根的樹,父結點就是子結點的直接上司。每個職員有乙個快樂指數。現在有個周年慶宴會,要求與會職員的快樂指數最大。但是,沒有職員願和直接上司一起與會。第一行乙個整數n。1 n 6000 接下來n行,第i 1行表示i號職...