F.A.Q
Hand In Hand
Online Acmers
Problem Archive
Realtime Judge Status
Authors Ranklist
 
     C/C++/Java Exams     
ACM Steps
Go to Job
Contest LiveCast
ICPC@China
Best Coder beta
VIP | STD Contests
    DIY | Web-DIY beta
Author ID 
Password 
 Register new ID

Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)
Total Submission(s): 533    Accepted Submission(s): 146


Problem Description
给定一棵包含 $n$ 个节点的带边权的树,树是一个无环的无向联通图。定义 $xordist(u,v)$ 为节点 $u$ 到 $v$ 的简单路径上所有边权值的异或和。

有 $q$ 次询问,每次给出 `l r x`,求 $\sum_{i=l}^rxordist(i,x)$ 的值。
 

Input
测试点包含多组数据。第一行包含一个整数 $T$($1\leq T\leq 10$),表示数据组数。每组数据的输入格式如下:

第一行包含一个整数 $n$($1\leq n\leq 10^5$),表示节点的个数。

接下来 $n-1$ 行,每行包含三个整数 $u$、$v$ 和 $w$($1\leq u,v\leq n$,$0\leq w<2^{30}$),表示 $u$ 和 $v$ 之间存在一条权值为 $w$ 的无向边。保证输入是一棵树。

接下来一行,包含一个整数 $q$($1\leq q\leq10^5$),表示询问的次数。

接下来 $q$ 行,每行包含三个整数 $l$、$r$ 和 $x$($1\leq l\leq r\leq n$,$1\leq x\leq n$),分别表示每次询问的信息,其含义已在上文说明。
 

Output
每组数据包含 $q$ 行,每行一个整数,表示每次询问的答案。
 

Sample Input
1 4 1 2 1 1 3 2 3 4 4 2 1 4 3 1 2 4
 

Sample Output
9 13
 

Hint

本题输入数据较多,建议大家使用关闭同步流后的 cin 和 cout 输入输出。具体代码如下:

```cpp
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);

// you code

return 0;
}
```

样例中的树如下图所示:

![](https://cdn.luogu.com.cn/upload/image_hosting/u283x688.png)

- 对于第一个询问,答案为 $2+1\bigoplus2+4=2+3+4=9$。
- 对于第二个询问,答案为 $2\bigoplus4+1\bigoplus2\bigoplus4=6+7=13$。

 

Source
 

Statistic | Submit | Discuss | Note
Hangzhou Dianzi University Online Judge 3.0
Copyright © 2005-2024 HDU ACM Team. All Rights Reserved.
Designer & Developer : Wang Rongtao LinLe GaoJie GanLu
Total 0.000000(s) query 1, Server time : 2024-11-22 04:02:42, Gzip enabled