luogu#P6071. 『MdOI R1』Treequery

    ID: 10091 远端评测题 3000ms 250MiB 尝试: 6 已通过: 2 难度: 6 上传者: 标签>主席树最近公共祖先LCA树上距离

『MdOI R1』Treequery

题目描述

给定一棵 nn 个点的无根树,边有边权。

E(x,y)E(x,y) 表示树上 x,yx,y 之间的简单路径上的所有边的集合,特别地,当 x=yx=y 时,E(x,y)=E(x,y) = \varnothing

你需要 实时 回答 qq 个询问,每个询问给定 p,l,rp,l,r,请你求出集合 i=lrE(p,i)\bigcap_{i=l}^r E(p,i) 中所有边的边权和,即 E(p,lr)E(p, l\dots r) 的交所包含的边的边权和。

通俗的讲,你需要求出 pp[l,r][l,r] 内每一个点的简单路径的公共部分长度。

输入格式

第一行两个整数 n,qn,q,表示树的结点数和询问数。

接下来 n1n-1 行,每行三个整数 x,y,wx,y,w,表示 xxyy 之间有一条权值为 ww 的边。

接下来 qq 行,每行三个整数 p0,l0,r0p_0,l_0,r_0。第 ii 个询问的 p,l,rp,l,r 分别为 p0,l0,r0p_0,l_0,r_0 异或上 lastanslastans 的值,其中 lastanslastans 是上次询问的答案,初始时为 00

输出格式

对于每个询问,一行一个整数,表示答案。

5 4
3 1 2
1 5 1
2 3 3
3 4 4
2 3 5
2 1 7
0 7 7
5 5 2
3
2
6
0
10 10
2 1 9907
3 2 8329
4 2 8402
5 4 3636
6 4 8747
7 4 3080
8 6 780
9 6 5414
10 9 3545
2 10 10
26107 26106 26101
4 9 10
14171 14166 14169
8958 8949 8949
36008 36014 36013
11485 11485 11472
3 9 9
30888 30894 30895
8404 8404 8411

26108
0
14161
8959
36015
11482
0
30892
8402
0

提示

【样例 1 说明】

样例中的树如图所示:

下面解释中的询问参数均为异或 lastanslastans 之后得到的真实值。

对于第一个询问,p=2p=2l=3l=3r=5r=5i=35E(2,i)\bigcap_{i=3}^5 E(2,i) 为边 (2,3)(2,3),长度为 33

对于第二个询问,p=1p=1l=2l=2r=4r=4i=24E(1,i)\bigcap_{i=2}^4 E(1,i) 为边 (1,3)(1,3),长度为 22

对于第三个询问,p=2p=2l=5l=5r=5r=5i=55E(2,i)\bigcap_{i=5}^5 E(2,i) 为边集 {(2,3),(3,1),(1,5)}\{(2,3),(3,1),(1,5)\},长度为 66

对于第四个询问,p=3p=3l=3l=3r=4r=4i=34E(3,i)=\bigcap_{i=3}^4 E(3,i)=\varnothing,长度为 00


【数据范围】

本题采用捆绑测试。

子任务编号 n,qn,q\leq 特殊性质 分值
1 10510^5 l=rl=r 8
2 p=1p=1 20
3 10310^3
4 10510^5 26
5 2×1052\times 10^5

对于 100%100\% 的数据,1n,q2×1051\leq n,q\leq 2\times 10^51x,y,pn1\leq x,y,p\leq n1lrn1\leq l\leq r\leq n1w1041\leq w\leq 10^4