「学习笔记」树形dp

一.树形dp的概念

也就是字面意思:在树上进行dp。

二.树形dp的实现

一般来说,树形dp通过dfs来实现。将它的子树信息整合起来,就是树形dp。状态主要设为 \(dp_{i,0/1}\)\(0\) 表示不选, \(1\) 表示选。

三.例题讲解

  • 1. P1352 没有上司的舞会

    \(dp_{i,0}\) 表示第 \(i\) 个人没来,它的下属的最大快乐值;\(dp_{i,1}\) 表示第 \(i\) 个人来,它的下属的最大快乐值。
    设当前点 \(u\) 的儿子是点 \(v\) 那么易得转移方程:
    \(\begin{cases}dp_{u,0}=\Sigma \max (dp_{v, 0}, dp_{v, 1}) \\ dp_{u,1}=\Sigma dp_{v,0}\end{cases}\)
posted @ 2022-02-11 18:00  cyhyyds  阅读(51)  评论(0编辑  收藏  举报