Loading

P2458 [SDOI2006]保安站岗

\(\text{solution}\)

看来又很模板啊。

\(f_{i, 0/1/2}\) 为以 \(i\) 为根的子树中,自己/父亲/儿子被选了的最小代价。

考虑转移方程:

\[f_{i, 0} = \sum_{v\in son} \min(f_{v, 0}, f_{v, 1}, f_{v, 2}) \]

\[f_{i, 1} = \sum_{v\in son} \min(f_{v, 0}, f_{v, 2}) \]

考虑 \(f_{i, 2}\),一般来说时这样的:

\[f_{i, 2} = \sum_{v\in son} \min(f_{v, 0}, f_{v, 2}) \]

但是我们考虑如果全选 \(f_{v, 2}\) 的话,就没有来覆盖 \(i\) 的了,于是我们特判一下,如果全部选 \(f_{v, 2}\),那么就 $ + \min\limits_{v\in son}(f_{v, 0} - f_{v, 2})$,因为要把其中一个贡献减掉,加上一个改变以后贡献最小的 \(f_{v, 0}\)

posted @ 2023-05-31 15:08  Alexande  阅读(12)  评论(0)    收藏  举报