HXOJ4652. 倍增求LCA练习题:Dis

提交2 通过2
通过率100%
时间限制1000ms
内存限制128MiB

题目描述

题目描述

给出 nn 个点的一棵树,多次询问两点之间的最短距离。

注意:边是双向的。

输入格式

第一行为两个整数 nn 和 mm。nn 表示点数,mm 表示询问次数;

下面 n−1n-1 行,每行三个整数 x,y,kx,y,k,表示点 xx 和点 yy 之间存在一条边长度为 kk;

再接下来 mm 行,每行两个整数 x,yx,y,表示询问点 xx 到点 yy 的最短距离。

输出格式

输出 mm 行。对于每次询问,输出一行。

输入样例 #1

2 2 
1 2 100 
1 2 
2 1

输出样例 #1

100
100

输入样例 #2

3 2
1 2 10
3 1 15
1 2
3 2

输出样例 #2

10
25

输入样例 #3

2 2
2 1 8
1 2
2 2

输出样例 #3

8
0

数据范围

对于全部数据,2≤n≤1042\le n\le 10^4,1≤m≤2×1041\le m\le 2\times 10^4,0<k≤1000<k\le 100,1≤x,y≤n1\le x,y\le n。