178. 寻找平均数
内存限制:256 MB
时间限制:1.000 S
题目描述
小红拿到了一棵树。她有多次查询,每次查询一条路上所有节点的平均数是多少。你帮帮她吗?
输入
第一行输入一个正整数 n(1 <= n <= 10^5),代表树的节点数量。
第二行输入 n 个正整数ai(1 <= ai <= 10^9),第 i 个正整数代表号节点的权值。
接下来的 n - 1 行,每行输入两个正整数 u、v,代表节点 u 和节点 u 有一条边连接。
接下来的一行输入一个正整数 q(1 <= q <= 10^5),代表查询次数。
接下来的 q 行,每行输入两个正整数 x 和 y,代表一次查询,该次查询为节点 x 到节点 y 路径上所有节点的平均数。
输出
输出 q 行,每行输入一个整数,代表路径上的所有节点的平均数。该答案为一个有理数,记为 a / b,请你输出 a / b 对 10^9 + 7 取模的值。
a / b对 p 取模的意义是在 [0, p - 1] 区间找到一个 x 满足 x * b mod p = a。
样例输入 复制
3
4 5 6
1 2
1 3
2
1 2
2 3
样例输出 复制
500000008
5