100 #P1237. D155 【LCA最近公共祖先】树上任意两点的最短距离

D155 【LCA最近公共祖先】树上任意两点的最短距离

【题意】

给出 nn 个点的一棵树, n1n-1 条双向边(有边权)。有 mm 次询问,每次询问给出两个整数x yx \ y,求点 xx 和 点 yy 之间的最短距离(不需要强调谁是根节点,因为树上任意两点的最短路径是唯一的)。

【输入格式】

第一行为两个整数 n mn \ m1n104,0m200001 \le n \le 10^4 ,0 \le m \le 20000)。

下来 n1n-1 行,每行三个整数 x y kx \ y \ k,表示点xx和点yy之间存在一条边长度为 kk0k1000 \le k \le 100)。

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

【输出格式】

输出 mm 行,每行一个整数,对应一次询问的答案。

2 2
1 2 100
1 2
2 1
100
100
3 2
1 2 10
3 1 15
1 2
3 2
10
25