题号:NC205089
时间限制:C/C++/Rust/Pascal 3秒,其他语言6秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
牛妹种了一棵苹果树。
这棵苹果树有n个节点,n-1条边,每一条边都有一个权值
。
我们定义:这棵树上的两点之间距离dist(u,v)为它们简单路径上所有边的权值和。
现在,牛妹想给你q次询问,每次询问一个区间[l,r],求
)%2Cl%5Cle%20u%5Cle%20v%5Cle%20r)
。
输入描述:
第一行,读入n和q。
接下来n-1行,每行读入u,v和w,表示一条边。
接下来q行,每行读入l和r,表示一组询问。
输出描述:
对于每一组询问,输出对应的最大距离值。
示例1
输入
复制
3 3
1 2 20
2 3 40
1 1
1 3
1 2
说明
第一组询问,最长距离是节点1到节点1,距离为0;
第二组询问,最长距离是节点1到节点3,距离为20+40=60;
第三组询问,最长距离是节点1到节点2,距离为20.
备注:
数据保证
。