紧急集合 / 聚会

对于这道题目,我们考虑三个点的位置

如果三个点共线,比如下面这个样子

那么应该放在哪里呢?很显然应该放在中间这个点这里

如果三个点不共线呢?这个时候我们以两个点为端点画线,再画出其他分支

那么现在这个点应该放在哪里呢?应该放在中间“T”字形的交点那里

于是我们就清楚了,结合上前一种情况,我们最终应该放的是两两连线的唯一交点(这个交点肯定是唯一的)

这里可以用树上差分啦,我一来就想到的是树上差分(因为相当于找交点嘛,当一个点最后被覆盖了三次肯定就是目标点了),然而题解用的都是LCA,说实话有点难想到,然而按照我们上面画的图,LCA当然也是对的

update 2024.5.27

好像没有办法用树上差分,因为这里有多个询问,于是只能用题解的LCA

所以记住这个模型:树上三个点两两连线一定只会交于一点,并且这个点是三个点两两LCA中深度最大的LCA

BTW,如果这道题目只用求距离的话,就是“异象石”这道题目的简单情况

posted @ 2024-02-08 19:08  最爱丁珰  阅读(1)  评论(0编辑  收藏  举报