CF1983G.Your Loss

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一棵有 nn 个节点的树,节点编号为 11 到 nn,以及一个长度为 nn 的数组。第 ii 个节点的权值为 aia_i。有 qq 个询问,每个询问给定两个节点 xx 和 yy。

考虑从编号为 xx 的节点到编号为 yy 的节点的路径。设该路径为 x=p0,p1,p2,…,pr=yx = p_0, p_1, p_2, \ldots, p_r = y,其中 pip_i 表示路径上的中间节点。请计算 ∑i=0rapi⊕i\sum_{i=0}^{r} a_{p_i} \oplus i 的值,其中 ⊕\oplus 表示 异或 运算。

更正式地说,计算

∑i=0rapi⊕i\sum_{i =0}^{r} a_{p_i}\oplus i

。

输入格式

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示测试用例的数量。每组测试数据包含以下内容。

每组数据的第一行包含一个整数 nn(1≤n≤5⋅1051 \le n \le 5 \cdot 10^5),表示节点数。

接下来的 n−1n-1 行,每行包含两个整数 uu 和 vv,表示节点 uu 和节点 vv 之间有一条边。保证 u≠vu \ne v,且所有边构成一棵树。

接下来一行包含 nn 个整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤5⋅1051 \le a_i \le 5 \cdot 10^5),表示每个节点的权值。

接下来一行包含一个整数 qq(1≤q≤1051 \le q \le 10^5),表示询问的数量。

接下来的 qq 行,每行包含两个整数 xx 和 yy(1≤x,y≤n1 \le x, y \le n),表示路径的起点和终点。

保证所有测试用例中 nn 的总和不超过 5⋅1055 \cdot 10^5,所有测试用例中 qq 的总和不超过 10510^5。

输出格式

对于每个询问,输出一个整数,表示题目要求的路径和。

输入输出样例

  • 输入#1

    1
    4
    1 2
    2 3
    3 4
    2 3 6 5
    3
    1 4
    3 4
    1 1

    输出#1

    14
    10
    2

说明/提示

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页