用f[i][0]表示第i個人沒去其本身與所有下屬(包括間接)所能獲得的最大值,f[i][1]表示第i個人去了其本身與所有下屬(包括間接)所能獲得的最小值,如果第i個人去了,則它的下屬一定沒去,如果第乙個人沒去,則它的下屬去或不去皆可.
1 #include2 #include3 #include45using
namespace
std;67
int n,v[6001],f[6001][2
];8 vector a[6001];9
bool vis[6001
];10
11 inline void dfs(int
root) 19}
2021
intmain()
31for(int i = 1;i <= n; i++)
32if(!vis[i])
36return0;
37 }
洛谷 P1352 沒有上司的舞會
洛谷 p1352 沒有上司的舞會 某大學有n個職員,編號為1 n。他們之間有從屬關係,也就是說他們的關係就像一棵以校長為根的樹,父結點就是子結點的直接上司。現在有個周年慶宴會,宴會每邀請來乙個職員都會增加一定的快樂指數ri,但是呢,如果某個職員的上司來參加舞會了,那麼這個職員就無論如何也不肯來參加舞...
洛谷 P1352 沒有上司的舞會
原題 這道題我非常神奇賴皮的用了拓撲,實際上這是一道樹形dp,但是身為蒟蒻的我覺得拓撲可以寫,結果真的讓我水過了,哈哈哈 用乙個二維陣列模擬每個人參加或者不參加,從最底層的員工開始向上拓撲 by acer.mo include include includeusing namespace std i...
洛谷p1352 沒有上司的舞會
題目已經說了這是一棵樹,而這道題顯然不是重心或者lca之類的東西,所以我們考慮樹形dp。一句廢話 首先考慮如果節點i不去舞會時以i為根的子樹的快樂指數最大值,顯然就是每個以i的兒子為根的子樹的最大值之和。如果節點i參加舞會,那麼相應的最大值就是i的每個兒子都不去時,以i的兒子為根的最大值之和,再加上...