【做题记录】[POI2008]STA-Station
-
- 算法:树形 ,换根,二次扫描
题目:
给定一个 个点的树,请求出一个结点,使得以这个结点为根时,所有结点的深度之和最大。
一个结点的深度之定义为该节点到根的简单路径上边的数量。
题解:
记录一下这题,因为这题有个挺妙的小 trick。
首先不妨设 号节点为根。
然后对于一个 ,设
再求完 的答案后,考虑如何转移到 。
trick: 一种换根。将 为根换位 为根后能发生什么?
的整棵子树(包括 )的每个节点的深度都会加 ,因为从 为根到 的父亲为根整棵子树总体下降了一层。
同样地有 的整棵子树(包括 )的每个节点深度减 。
这样就可以从 转移至 。
于是这个树形 就显而易见了。
本文作者:trsins
本文链接:https://www.cnblogs.com/trsins/p/15776620.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
标签:
做题记录
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步