树形DP
树形DP,顾名思义就是在树上DP
以这道题来解释树形DP的基本思路:
洛谷P1352 没有上司的舞会
定义状态:dp[i][0/1]:以i为根的子树,点i不去/去舞会的2最大价值。
答案:max(dp[1][0],dp[1][1])
状态转移方程:
对于点v是点u的子节点:
- 对于u去舞会,那么v只能不去,dp[u][1]+=dp[v][0];
- 对于u不去舞会,那么v可以去也可以不去,dp[u][0]+=max(dp[v][1],dp[v][0])
边界条件:dp[x][1]=a[x],dp[x][0]=0
本人(KK_SpongeBob)蒟蒻,写不出好文章,但转载请注明原文链接:https://www.cnblogs.com/OIer-QAQ/p/18575258

浙公网安备 33010602011771号