[ABC301Ex] Difference of Distance 题解

建立原图的最小生成树,那么两点路径最大值的最小值即为 MST 上两点路径最大边权。

设修改边 (x,y)(x,y),原权值为 ww

首先查询 sstt 的最小瓶颈是否是 ww,如果不是,显然没有影响。

否则问题转化为:仅考虑边权 w\leq w 的边,(x,y)(x,y) 是否为 s,ts,t 之间的割边。

将询问离线下来,扫描线按边权排序,将边权 w\leq w 的非树边 (u,v)(u,v) 加入,将 uuvv 的点合并,并查集维护。

最后查询 s,ts,t 点是否在同一个并查集且 (x,y)(x,y) 是否在 s,ts,tMST 的路径上即可,因为加的是非树边,所以若 s,ts,t 不连通则无法从 ss 通过非树边到达 tt,故此时 (x,y)(x,y) 为割边。

时间复杂度 O(nlogn)\mathcal O(n \log n)

posted @ 2023-05-16 12:54  蒟蒻orz  阅读(4)  评论(0编辑  收藏  举报  来源