题解【[AHOI2008]紧急集合 / 聚会】

简化版题目:

有一棵 N N N个节点的树,和 Q Q Q组询问

有三个人分别在点 x , y , z x,y,z x,y,z现在希望你找到一个点,使得
三个人到这个点的距离和最小。

题目分析

首先,本题最大的难度就是求的是三条路径的最小值,而不是两个,如果是两个的话我们直接求书的路径上的点就行,即为求两点之间的 L C A LCA LCA,但是如果问题为 3 3 3的点就不同了,我们类比之前,可能会想到求出 3 3 3个点的 L C A LCA LCA,可是这样,明显是不对的,比如下边这幅图就是一个反例。

         ·A
        /  \
  	   /    \
      /      \
     .C        .B
    / \
   /   \
  .D    .E

若在此图中寻找一个点,使其到 B , E , F B,E,F B,E,F之和最小,显然不是求三者 L C A − A LCA-A LCAA点,而是应当选 C C C点,这样他们的值才能最小。

为什么这么说呢?可以把 B B B翻转过来,然后就可以发现应该在他们的交点 C C C上可以取到最小值。

这道题还有一个情况如下

         .A
        /
       /
      C.
     / \
    /   \
   .B    \
           D.

现在我们要求 B , C , D B,C,D B,C,D的最短距离,我们怎么走。

这其实是最简单的一种模型。肯定是走在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值