树上异或查询

普及+/提高 位运算 前缀异或 CSP-S专项

题目描述

题目描述

给定一棵 $n$ 个结点的带权树。每次询问给出两个结点 $u,v$,请输出从 $u$ 到 $v$ 的简单路径上所有边权的异或和。

输入格式

第一行包含两个整数 $n,q$。

接下来 $n-1$ 行,每行包含三个整数 $u,v,w$,表示 $u$ 与 $v$ 之间有一条权值为 $w$ 的边。

接下来 $q$ 行,每行包含两个整数 $u,v$,表示一次询问。

输出格式

对每次询问输出一行一个整数。

数据范围

$2 \le n \le 10^5$,$1 \le q \le 10^5$,$0 \le w < 2^{30}$。

来源说明

本题为 CodeCamp 专项训练题,训练方向参考:洛谷 P2420《让我们异或吧》。

输入格式

第一行包含两个整数 $n,q$。

接下来 $n-1$ 行,每行包含三个整数 $u,v,w$,表示 $u$ 与 $v$ 之间有一条权值为 $w$ 的边。

接下来 $q$ 行,每行包含两个整数 $u,v$,表示一次询问。

输出格式

对每次询问输出一行一个整数。

数据范围

$2 \le n \le 10^5$,$1 \le q \le 10^5$,$0 \le w < 2^{30}$。

样例输入 1

2 3
1 2 6
2 2
2 1
1 2

样例输出 1

0
6
6
时间限制: 1000ms
内存限制: 256MB
通过率: 100.0%
提交数: 1

设置

导航栏小工具

时钟
显示实时时钟(默认组件)
📝
代码粘贴板
快速创建和分享代码片段