洛谷 題解 P1352 沒有上司的舞會

2022-02-13 23:23:28 字數 864 閱讀 2788

樹形dp的一道較為基礎的模板題

dp[i][0/1]為第i個員工是否來參加的最大值
先找到根節點

先遍歷完它的兒子,再來更新答案

dp[i][0]+=max(dp[j][0],dp[j][1]);//j為i的兒子,i不來,那j可來可不來

dp[i][1]+=dp[j][0];//j為i的兒子,i來,那只能不來

dp[i][0]=0;//不來的初始值為0

dp[i][1]=r[i];//來的初始值就是此人的快樂指數

很明顯就是大boss來不來的問題了

max(dp[root][0],dp[root][1]);

完整**:

#includeusing namespace std;

const int n=6000+10;

int n,m;

int r[n];

bool v[n];

vectorson[n];

int dp[n][2];

inline int read()

while(c>='0'&&c<='9')

return tot*f;

}inline void f(int now)

}int main()

int root;

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

if(!v[i])

f(root);

int ans=max(dp[root][1],dp[root][0]);

cout

}

洛谷P1352 沒有上司的舞會題解

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

洛谷 P1352 沒有上司的舞會

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

洛谷 P1352 沒有上司的舞會

原題 這道題我非常神奇賴皮的用了拓撲,實際上這是一道樹形dp,但是身為蒟蒻的我覺得拓撲可以寫,結果真的讓我水過了,哈哈哈 用乙個二維陣列模擬每個人參加或者不參加,從最底層的員工開始向上拓撲 by acer.mo include include includeusing namespace std i...