#P9058. [Ynoi2004] rpmtdq

[Ynoi2004] rpmtdq

题目描述

给定一棵有边权的无根树,需要回答一些询问。

定义 dist(i,j)\texttt{dist(i,j)} 代表树上点 ii 和点 jj 之间的距离。

对于每一组询问,会给出 l,rl,r,你需要输出 min(dist(i,j))\min(\texttt{dist(i,j)}) 其中 li<jrl\leq i < j \leq r

输入格式

第一行一个整数 nn,表示树的节点个数。

接下来 n1n-1 行,每行三个整数 x,y,zx,y,z 表示一条连接 x,yx,y 边权为 zz 的树边,输入保证构成一棵树。

之后一行一个数 qq,表示询问个数。

之后 qq 行,每行两个整数 l,rl,r 表示一组询问,如果对于一组询问,找不到任何二元组 (i,j)(i,j) 满足 li<jrl\le i<j\le r,则输出 1-1

输出格式

输出 qq 行,每行一个整数,表示这组询问的答案。

5
1 2 5
1 3 3
1 4 4
3 5 2
5
1 1
1 4
2 4
3 4
2 5
-1
3
7
7
2

提示

Idea:nzhtl1477,Solution:Kubic&ccz181078,Code:Kubic,Data:Kubic

对于100%100\%的数据,满足 n2×105n\leq2\times 10^5q106q\leq 10^61z1091\le z\le 10^9