#P8200. [传智杯 #4 决赛] 生活在树上(easy version)

    ID: 7282 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>树形结构Special JudgeO2优化深度优先搜索,DFS

[传智杯 #4 决赛] 生活在树上(easy version)

Description

小智说:「由于我们的国家只有 nn 个城市和 n1n-1 条道路,那么我们的国家就相当于是一棵树。我在想,在我们的国家中,是否有城市满足『到城市 aa 的代价和到城市 bb 的代价的异或等于 kk』。好难哦,我想不出来,你能帮帮我吗?」

也就是说,给定城市 a,ba, b 和整数 kk,请你计算是否存在城市 tt 满足 $\mathrm{dis}_{t, a} \bigoplus \mathrm{dis}_{t, b} = k$。

Input Format

第一行有两个整数 nnmm,表示国家的城市数和询问的个数。

接下来 n1n-1 行,每行有两个整数 x,y,lx, y, l,表示城市 xx 与城市 yy 有一条长度为 ll 的边。

接下来 mm 行,每行有三个整数 a,b,ka, b, k,表示小智从城市 aa 走到城市 bbkk 的含义与题目描述一致。

Output Format

mm 行,每行一个整数。

对于第 ii 个询问,如果存在至少一个城市 tt 满足要求,则输出 Yes

如果不存在任何一个城市满足条件,则输出 No

输出字符串大小写不敏感,例如,YesyESYESyes 等都算作 Yes

5 3
1 2 2
1 3 6 
2 4 8
2 5 1
1 2 4
2 3 12
1 4 10
nO
No
YeS
5 10
2 1 63
3 1 57
4 2 2
5 2 84
5 2 84
4 1 9977404983223574764
2 5 84
2 1 15996060349666123522
5 4 86
3 1 8428615422876116375
5 1 107
2 3 6
2 3 6
4 2 2
yeS
nO
YEs
No
YEs
nO
YEs
yeS
yeS
YEs

Hint

相关概念解释

「树」:树是一个有 nn 个结点和 n1n-1 条边的无向简单连通图。

「按位异或」:按位异或即 C++、python、java 语言中的 「^」 运算。它是一个二元运算,步骤是将两个数的二进制位按位比较,相同为 00,不同为 11。例如:$3 \bigoplus 5 = (011)_2 \bigoplus (101)_2 = (110)_2 = 6$。请注意,这是一个按位运算,不是一个逻辑运算

样例 1 解释

下图为传智国的地图。

t{1,2,3,4,5}\forall t \in \{1, 2, 3, 4, 5\},都不可能有 $\mathrm{dis} _{t,1} \bigoplus \mathrm{dis}_{t, 2} = 4$,$\mathrm{dis}_{t, 2} \bigoplus \mathrm{dis}_{t, 3} = 12$,于是输出 No

而取 t=5t = 5,有 $\mathrm{dis}_{t, 1} \bigoplus \mathrm{dis}_{t, 4} = 10$,于是输出 Yes

数据规模与约定

对于所有测试点,保证 1<n5×1051 < n \leq 5 \times 10^51m5×1051 \leq m \leq 5 \times 10^50wi<2640 \leq w_i < 2^{64}

对于每次询问,保证 1a,bn1 \leq a, b \leq naba \neq b0k<2640 \leq k < 2^{64}