(树形dp)Computer

博客内容讲述了如何使用树形动态规划解决一个关于计算机网络的问题,即求解每台计算机发送信号到最远计算机的最大距离。题目描述了一个学校从一台电脑开始,逐渐增加新电脑并建立连接,需要找出每台电脑的最远信号传递距离。原有的暴力方法被证明不适用,正确解法是进行两次树上的DP,分别自下而上和自上而下计算每个节点到子树及父节点的最大和次大距离。在计算过程中,通过比较最大值和次大值来更新节点的距离信息。
摘要由CSDN通过智能技术生成

https://cn.vjudge.net/contest/264707#problem/C
A school bought the first computer some time ago(so this computer’s id is 1). During the recent years the school bought N-1 new computers. Each new computer was connected to one of settled earlier. Managers of school are anxious about slow functioning of the net and want to know the maximum distance Si for which i-th computer needs to send signal (i.e. length of cable to the most distant computer). You need to provide this information.
in
5
1 1
2 1
3 1
1 1
out
3
2
3
4
4

题意是某个学校开始只有一台电脑,编号为1,之后不断购进电脑,并与其它电脑以某个距离相连接,给出电脑总数与连接关系,求出每台电脑距离最远的电脑
转换为树图,1就是根节点,就是求每个节点到其它叶子节点的最远距离
刚开始想的时候有用书上倍增暴力去找他们的最远点,结果发现每个点有多个节点,这种做法就不行了
正解是树上两次dp,一次自下而上求出每个点对其子树的距离的最大值和次大值,再一次自上而下的对其父节点求距离

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值