loj#P6073. 「2017 山东一轮集训 Day5」距离
「2017 山东一轮集训 Day5」距离
题目描述
给定一棵 个点的边带权的树,以及一个排列 ,有 个询问,给定点 ,设 表示 到 的路径, 表示 到 的距离,希望你求出
$$\sum\limits_{i \in \text{path}(u, v)} \text{dist}(p_i, k) $$输入格式
第一行一个整数 表示这个测试点的数据类型。
第二行两个整数 。
接下来 行,每行三个整数 ,代表树上有一条连接 的权值为 的边。
接下来一行 个正整数表示给定的排列 。
接下来 行,每行三个整数 ,记 为上一次询问的答案,假如这是第一次则 ,那么这个询问对应的 满足 $ u = u' \mathbin{\text{xor}} (\text{lastAns} \times \text{type}), v = v' \mathbin{\text{xor}} (\text{lastAns} \times \text{type}), k = k' \mathbin{\text{xor}} (\text{lastAns} \times \text{type}) $。
输出格式
输出 行,代表每个询问的答案。
0
5 3
1 5 3
1 3 9
1 2 10
1 4 7
1 3 5 2 4
5 4 5
2 3 3
4 3 1
26
21
13
数据范围与提示
对于 的数据,;
对于 的数据,;
对于另外 的数据,;
对于另外 的数据,;
对于 的数据,$ 1 \leq n, q \leq 200000; 0 \leq c_i \leq 10 ^ 9; 1 \leq u, v, k \leq n $。