码迷,mamicode.com
首页 > 其他好文 > 详细

HDU 2196 Computer (树形dp)

时间:2014-09-03 16:40:16      阅读:174      评论:0      收藏:0      [点我收藏+]

标签:http   ar   div   问题   sp   c   ef   acm   php   

题目链接

题意:就是给你一棵树,每条边都有一定的权值,然后让你找到每个点所能走到的最远距离

分析:

这个题还是有点晕,贴一下大神的分析,分析的很透彻

先以 1 作为根节点进行一次 dfs 遍历,遍历的时候把以 第 i 为根节点往子树方向可以走到的最远距离和次远距离给求出来,且这两个距离是不在同一个分支中的
然后我们进行第二次的从根节点开始dfs遍历,这时候我们要判断的是对于一个节点 i ,除了子树方向上可能有最远距离外,我通过父节点方向是否可以有更加远的距离
 
,而对于这个操作,我们只要访问父节点所能到达的最远距离,然后接上一段就行了,但是这里会产生一个问题——就是父节点的最远距离可能是会经过当前这个节点
 
的,因此我们要进行判断当前节点是否在父节点的最远距离的分支上
如果在的话,那么我们要换一个分支,且要是最远的,这个其实就是第一次dfs中求出的与最远路径不在同一分支上的次远路径,我们接上这段进行转移
如果不在的话,那么我们直接接上父节点的最远路径进行转移就行了
 

HDU 2196 Computer (树形dp)

标签:http   ar   div   问题   sp   c   ef   acm   php   

原文地址:http://www.cnblogs.com/bfshm/p/3953877.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!