#ABC201E. 异或距离

异或距离

异或距离

题目描述

给定一棵有 NN 个顶点的带权树。第 ii 条边双向连接顶点 uiu_i 和顶点 viv_i,权重为 wiw_i

对于顶点对 (x,y)(x,y),定义 dist(x,y)\text{dist}(x,y) 如下:

xxyy 的最短路径上所有边的权重的异或值。

求所有满足 1i<jN1 \le i \lt j \le N 的顶点对 (i,j)(i,j)dist(i,j)\text{dist}(i,j) 之和,并输出该和模 (109+7)(10^9+7) 的结果。

什么是异或?

整数 AABB 的按位异或 A XOR BA\ \mathrm{XOR}\ B 定义如下:

A XOR BA\ \mathrm{XOR}\ B 写成二进制时,第 2k2^k 位(k0k \geq 0)上的数字为 1,当且仅当 AABB 中恰好有一个在该位上为 1;否则为 0。

例如,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
uN1u_{N-1} vN1v_{N-1} wN1w_{N-1}

输出格式

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

样例

3
1 2 1
1 3 3
6

我们有 dist(1,2)=1\text{dist}(1,2)=1dist(1,3)=3\text{dist}(1,3)=3dist(2,3)=2\text{dist}(2,3)=2,总和为 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

输出总和模 (109+7)(10^9+7) 的结果。

数据范围

  • 2N2×1052 \le N \le 2 \times 10^5
  • 1ui<viN1 \le u_i \lt v_i \le N
  • 0wi<2600 \le w_i \lt 2^{60}
  • 给定的图是一棵树
  • 输入均为整数
难度 提高
通过率
尝试 0
已通过 0
ID
2152
类型
传统题
Time Limit
3000ms
Memory Limit
1024MiB
上传者
标签