1021 B
1021 B
平均数之和
题目描述
对于一个长度为 n
的数组,有 \frac{n \times (n + 1)}{2}
个连续子区间。对于子区间 $a[l\sim r]$,其平均值为
\frac{a[l]+...+a[r]}{r-l+1}
求数组的所有子区间的平均数之和,对 P=10^9+7
取模。
- 模意义下的除法:如果需要计算 $a/b \pmod P$,可以使用
a\times b^{P-2} \pmod P
实现
输入格式
第一行1个整数 $t$,代表数据组数
每组数据第1行一个正整数 $n$,表示数组长度
每组数据第2行 n
个正整数 a[1\sim n]
输出格式
输出 t
行,每行1个整数代表答案
样例 #1
样例输入 #1
5
7
1 4 3 9 3 6 10
4
4 9 2 9
4
9 9 1 7
6
8 9 1 6 5 7
10
5 6 10 5 7 9 2 4 3 2
样例输出 #1
792857292
166666727
500000066
633333457
564286026
提示
对于 30% 的测试点,1 \leq n \leq 100
对于 70% 的测试点,1 \leq n \leq 5000
对于 100% 的测试点,1\le t\le 10, 1 \leq n \leq 10^5, 1 \leq a[i] \leq 100