hdu6162 题意 给出一颗带点权的树,每次询问一对节点 \((u, v)\),问 \(u\) 到 \(v\) 的最短路径上所有节点权值在 \([c1, c2]\) 区间内的和. 分析 树链剖分,那么我们只需要处理一个区间内节点权值在 \([c1, c2]\) 之间的和.建一颗线段树,每个节点维护当前区间内所有的点已经排序后的权值,以及前缀和.那么两次二分,前缀和相减就可以快速得到区间内权值在 \([c1, c2]\) 的所有节点的和. code #include<bits/stdc++.h>…