A97502.Sakurako's Box
普及+/提高
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
Sakurako 有一个装满 n 个球的盒子。每个球都有自己的数值。她想和朋友打个赌,朋友如果从盒子中随机选出两个球(可以是不同的两球,即使它们有相同的数值),这两个球数值的乘积能够等于 Sakurako 事先猜测到的一个数。
因为 Sakurako 是概率学方面的专家,她知道最明智的猜测应该是期望值,但她忘了如何去计算。请帮助她计算出这个数组中任意两个元素乘积的期望值。
可以证明,该期望值的形式为 QP,其中 P 和 Q 是非负整数,且 Q=0。你需要计算并输出 P⋅Q−1mod(109+7) 的结果。
输入格式
输入的第一行是一个整数 t,表示测试用例的数量。
接下来的每一个测试用例的第一行是一个整数 n,表示数组中元素的数量。
接下来的第二行包含 n 个整数 a1,a2,…,an,表示数组中的元素值。
保证所有测试用例的 n 之和不超过 2⋅105。
输出格式
对每个测试用例,输出 P⋅Q−1mod(109+7) 的结果。
输入输出样例
输入#1
3 3 3 2 3 4 2 2 2 4 5 1 2 3 4 5
输出#1
7 6 500000012
说明/提示
样例解释
-
在第一个测试用例中,Sakurako 的朋友可以选择这些球对:(a1,a2)、(a1,a3) 和 (a2,a3)。它们的乘积分别是 3×2=6、3×3=9 和 3×2=6,所以期望值计算结果为 36+9+6=7。
-
在第二个测试用例中,朋友可以选择的球对有:(a1,a2)、(a1,a3)、(a1,a4)、(a2,a3)、(a2,a4) 和 (a3,a4)。它们的乘积分别为 2×2=4、2×2=4、2×4=8、2×2=4、2×4=8 和 2×4=8,所以期望值为 64+4+8+4+8+8=636=6。
数据范围
1≤t≤104
2≤n≤2⋅105
0≤ai≤109
保证所有测试用例的 n 之和不超过 2⋅105。