ことばがありあまれどなお、 このゆめはつづ|

trsins

园龄:3年10个月粉丝:18关注:2

【做题记录】[POI2008]STA-Station

  • [POI2008]STA-Station

    • 算法:树形 dp,换根,二次扫描

题目:

给定一个 n 个点的树,请求出一个结点,使得以这个结点为根时,所有结点的深度之和最大。

一个结点的深度之定义为该节点到根的简单路径上边的数量。

n106

题解:

记录一下这题,因为这题有个挺妙的小 trick。

首先不妨设 1 号节点为根。

然后对于一个 v,设 u=fa(v)

再求完 v 的答案后,考虑如何转移到 u

trick: 一种换根。将 v 为根换位 u 为根后能发生什么?

v 的整棵子树(包括 v)的每个节点的深度都会加 1,因为从 v 为根到 v 的父亲为根整棵子树总体下降了一层。

同样地有 u 的整棵子树(包括 u)的每个节点深度减 1

这样就可以从 v 转移至 u

于是这个树形 dp 就显而易见了。

本文作者:trsins

本文链接:https://www.cnblogs.com/trsins/p/15776620.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   trsins  阅读(31)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示