沒有上司的舞會

2021-08-25 05:43:52 字數 905 閱讀 6604

ural大學有n名職員,編號為1~n。他們的關係就像一棵以校長為根的樹,父節點就是子節點的直接上司。每個職員有乙個快樂指數,用整數 h_i 給出,其中 1≤i≤n。現在要召開一場周年慶宴會,不過,沒有職員願意和直接上司一起參會。在滿足這個條件的前提下,主辦方希望邀請一部分職員參會,使得所有參會職員的快樂指數總和最大,求這個最大值。

樹形dp

f[x][0]表示從以x為根的子樹中邀請一部分職員參會,並且x不參加舞會時快樂指數總和的最大值。

f[x][1]表示從以x為根的子樹中邀請一部分職員參會,並且x參加舞會時快樂指數總和的最大值。

son[x]表示x的子節點集合

轉移方程:

f[x][0]+=max(f[y][0],f[y][1]);

f[x][1]+=f[y][0];

#include

#include

#include

#include

using

namespace

std;

vector

son[10005];

int f[10005][2],v[10005],h[10005],n,root;

inline

void read(int &f)

while(isdigit(c))

f*=ag; return;

}void write(int x)

void writeln(int x)

inline

void init()

read(x); read(y);

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

if (!v[i])

}void dp(int x)

}int main()

沒有上司的舞會

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

沒有上司的舞會

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

沒有上司的舞會

某大學有n個職員,編號為1 n。他們之間有從屬關係,也就是說他們的關係就像一棵以校長為根的樹,父結點就是子結點的直接上司。現在有個周年慶宴會,宴會每邀請來乙個職員都會增加一定的快樂指數ri,但是呢,如果某個職員的上司來參加舞會了,那麼這個職員就無論如何也不肯來參加舞會了。所以,請你程式設計計算,邀請...