Label
MST与LCA的简单应用
Description
A 国有 n 座城市,编号从 1 到 n,城市之间有 m 条双向道路(u,v,w)(u,v,w)(u,v,w)。每一条道路对车辆都有重量限制www,简称限重。现有 q 辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。如果货车不能到达目的地,输出−1-1−1。
数据范围:1≤n<104,1≤m<5×104,1≤q<3×104,0≤w≤1051\le n<10^4,1\leq m<5\times 10^4,1\leq q <3\times 10^4,0\leq w \leq 10^51≤n<104,1≤m<5×104,1≤q<3×104,0≤w≤105
Solution
我们首先考虑每辆货车经过的路径:由于司机一定会尽量避免走www小的路,那么对于每组询问,有一部分限重较小的边对答案无影响,算答案时不予考虑。故我们可得到如下猜想:司机所走的路径的每一条边都属于最大生成树的边集。
接下来考虑两点间路径最小边权的最大值:根据LCA的性质,树上两点到其LCA的路径pp