洛谷 1099 树网的核 题解

博客详细介绍了洛谷第1099题的解题思路,这是一道大模拟题,重点在于寻找树的直径并在直径上找到满足特定条件的路径。题意包括计算点到路径的距离和路径的偏心距。解题方法是首先找到树的直径,然后枚举路径的两个端点,计算并更新最小偏心距。博客提到了数据规模较小,允许使用较简单的O(n^2)算法,并强调了几个编程细节,如使用DFS更新偏心距、避免超限、利用STL减少代码错误。
摘要由CSDN通过智能技术生成

博客观赏效果更佳

第一次写这种大模拟题呢。。。觉得很考验码力和阅读理解能力,就写上了。

题意简述

给定一个带权的树,
定义:

  1. x x x到路径 P P P的距离: P P P中离 x x x最远的点的到 x x x的距离
  2. 一条路径 P P P的偏心距为:树上离路径 P P P最远的点到 P P P的距离

请找到一个路径 P P P,使得:

  1. P P P的所有点在这个树的直径上
  2. P P P中的边权和 < = S <=S <=S S S S给定
  3. P P P的偏心距最小

输出最小的偏心距。

思路

先说一下,这个题数据水甚,大概 O ( n 4 ) O(n^4) O(n4)也是能过去的,只要顾着写就可以了,几乎不用考虑时间复杂度。

首先找到直径。然后在直径上 O ( n 2 ) O(n^2) O(n2)枚举路径的两个端点,计算出这个路径的偏心距,更新答案即可。

几个细节:

    <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值