A75099.异或路径对
普及+/提高
通过率:0%
时间限制:3.00s
内存限制:512MB
题目描述
有一棵包含 N 个顶点的带权树。第 i 条边连接顶点 ui 和顶点 vi,其权值为 wi,且为无向边。
对于顶点对 (x,y),定义 dist(x,y) 为:
- 从 x 到 y 的最短路径上所有边的权值的 异或和。
请计算所有满足 1≤i<j≤N 的顶点对 (i,j) 的 dist(i,j) 之和,并输出其对 109+7 取模的结果。
异或(XOR) 的定义如下:对于整数 a,b,它们的按位异或 a XOR b 定义为:
- a XOR b 的二进制表示中,第 2k 位(k≥0)为 1 当且仅当 a,b 的二进制表示中第 2k 位恰好有一个为 1,否则为 0。
例如,3 XOR 5=6,因为二进制下 011 XOR 101=110。
输入格式
输入的第一行包含一个整数 N (2≤N≤2⋅105) —— 表示树中顶点的数量。
接下来的 N−1 行描述了树的边。其中的第 i 行包含三个整数 ui,vi,wi (1≤ui<vi≤N, 0≤wi<260) —— 表示顶点 ui 和 vi 之间存在一条权重为 wi 的边。
保证给定的图是一棵树。
输出格式
输出所有 dist(i,j) 之和对 109+7 取模的结果。
输入输出样例
输入#1
3 1 2 1 1 3 3
输出#1
6
输入#2
5 3 5 2 2 3 2 1 5 1 4 5 13
输出#2
62
输入#3
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
输出#3
241240228
说明/提示
限制条件
- 2≤N≤2×105
- 1≤ui<vi≤N
- 0≤wi<260
- 给定的图为一棵树
- 所有输入均为整数
样例解释 1
dist(1,2)=1, dist(1,3)=3, dist(2,3)=2,它们的总和为 6。
样例解释 3
请输出对 109+7 取模的结果。