如果没有年龄区间 画图发现ans=\(\sum_{i=1}^n dis_i + n * dis_u - 2 * \sum_{i=1}^{n} dis_{lca(i, u)}\) 对\(\sum_{i=1}^{n} dis_{lca(i, u)}\)用树链剖分,对于每个点,都向上走到根,记录每条路经过次数,询问时从u向上跳,每次加边权*覆盖次数即可 现在有年龄区间,加个前缀和,计算点权在[L,R]内的点到点u的距离,用主席树 然而主席树怎么pushdown,加上标记永久化 # include <b…