『MdOI R1』Treequery
题目描述
给定一棵 $n$ 个点的无根树,边有边权。
令 $E(x,y)$ 表示树上 $x,y$ 之间的简单路径上的所有边的集合,特别地,当 $x=y$ 时,$E(x,y) = \varnothing$。
你需要 **实时** 回答 $q$ 个询问,每个询问给定 $p,l,r$,请你求出集合 $\bigcap_{i=l}^r E(p,i)$ 中所有边的边权和,即 $E(p, l\dots r)$ 的交所包含的边的边权和。
通俗的讲,你需要求出 $p$ 到 $[l,r]$ 内每一个点的简单路径的公共部分长度。
输入输出格式
输入格式
第一行两个整数 $n,q$,表示树的结点数和询问数。
接下来 $n-1$ 行,每行三个整数 $x,y,w$,表示 $x$ 与 $y$ 之间有一条权值为 $w$ 的边。
接下来 $q$ 行,每行三个整数 $p_0,l_0,r_0$。第 $i$ 个询问的 $p,l,r$ 分别为 $p_0,l_0,r_0$ 异或上 $lastans$ 的值,其中 $lastans$ 是上次询问的答案,初始时为 $0$。
输出格式
对于每个询问,一行一个整数,表示答案。
输入输出样例
输入样例 #1
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
输出样例 #1
3
2
6
0
输入样例 #2
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
输出样例 #2
26108
0
14161
8959
36015
11482
0
30892
8402
0
说明
【样例 1 说明】
样例中的树如图所示:
![](https://cdn.luogu.com.cn/upload/image_hosting/g6l15zpv.png)
下面解释中的询问参数均为异或 $lastans$ 之后得到的真实值。
对于第一个询问,$p=2$,$l=3$,$r=5$,$\bigcap_{i=3}^5 E(2,i)$ 为边 $(2,3)$,长度为 $3$。
对于第二个询问,$p=1$,$l=2$,$r=4$,$\bigcap_{i=2}^4 E(1,i)$ 为边 $(1,3)$,长度为 $2$;
对于第三个询问,$p=2$,$l=5$,$r=5$,$\bigcap_{i=5}^5 E(2,i)$ 为边集 $\{(2,3),(3,1),(1,5)\}$,长度为 $6$;
对于第四个询问,$p=3$,$l=3$,$r=4$,$\bigcap_{i=3}^4 E(3,i)=\varnothing$,长度为 $0$。
---
【数据范围】
**本题采用捆绑测试。**
| 子任务编号 | $n,q\leq$ | 特殊性质 | 分值 |
| :--------: | :------------: | :------: | :--: |
| 1 | $10^5$ | $l=r$ | 8 |
| 2 | $10^5$ | $p=1$ | 20 |
| 3 | $10^3$ | 无 | 20 |
| 4 | $10^5$ | 无 | 26 |
| 5 | $2\times 10^5$ | 无 | 26 |
对于 $100\%$ 的数据,$1\leq n,q\leq 2\times 10^5$,$1\leq x,y,p\leq n$,$1\leq l\leq r\leq n$,$1\leq w\leq 10^4$。