#3251. Xor Distances

0
    ID: 3251 传统题 3000ms 1024MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>AtCoderabc201EGESP 6级DFS位运算(复杂)

Xor Distances

Xor Distances

题目描述

我们有一棵带权树,包含 NN 个顶点。第 ii 条边双向连接顶点 uiu_i 和顶点 viv_i,并且权重为 wiw_i。 对于一对顶点 (x,y)(x,y),我们定义 dist(x,y)\text{dist}(x,y) 如下:

从 xx 到 yy 的最短路径上所有边的权重的 XOR。

求所有满足 1≤i<j≤N1 \leq i \lt j \leq N 的对 (i,j)(i,j) 的 dist(i,j)\text{dist}(i,j),并输出这些值之和对 (109+7)(10^9+7) 取模的结果。

什么是 $\text{ XOR }$?

整数 AA 和 BB 的按位 XOR\mathrm{XOR},记作 A XOR BA\ \mathrm{XOR}\ B,定义如下:

当 A XOR BA\ \mathrm{XOR}\ B 用二进制表示时,第 2k2^k 位的数字(k≥0k \geq 0)为 11 当且仅当 AA 与 BB 在该位上恰好有一个为 11,否则为 00。

例如,3 XOR 5=63\ \mathrm{XOR}\ 5 = 6(二进制表示:011 XOR 101=110011\ \mathrm{XOR}\ 101 = 110)。

输入格式

输入从标准输入给出,格式如下: NN u1u_1 v1v_1 w1w_1 u2u_2 v2v_2 w2w_2 ⋮\vdots uN−1u_{N-1} vN−1v_{N-1} wN−1w_{N-1}

输出格式

输出 dist(i,j)\text{dist}(i,j) 之和,对 (109+7)(10^9+7) 取模。

3
1 2 1
1 3 3
6
5
3 5 2
2 3 2
1 5 1
4 5 13
62
10
5 7 459221860242673109
6 8 248001948488076933
3 5 371922579800289138
2 5 773108338386747788
6 10 181747352791505823
1 3 803225386673329326
7 8 139939802736535485
9 10 657980865814127926
2 4 146378247587539124
241240228

提示

2≤N≤2×1052 \leq N \leq 2 \times 10^5 1≤ui<vi≤N1 \leq u_i \lt v_i \leq N 0≤wi<2600 \leq w_i \lt 2^{60} 给定的图是一棵树。 输入中的所有数值均为整数。我们有 dist(1,2)=1,\text{dist}(1,2)=1, dist(1,3)=3,\text{dist}(1,3)=3, 以及 dist(2,3)=2\text{dist}(2,3)=2,它们的和为 66。
将和对 (109+7)(10^9+7) 取模后输出。

标签: AtCoder|abc201E

来源

AtCoder|abc201E