|
||||||||||
艺术台阶Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65535/102400 K (Java/Others)Total Submission(s): 77 Accepted Submission(s): 21 Problem Description 你正准备建造一个$n$级台阶来展示你的艺术设计水平。为了让台阶看上去非常错落有致,你决定使用计算机来生成台阶的形状。 你设定了每一级台阶的高度上限$a_1,a_2,\dots,a_n$,计算机会帮你生成每一级台阶的高度$h_i$。计算机会在$[0,a_i]$里均匀随机选择一个实数作为$h_i$。 你立刻就发现,你的程序考虑的太少了——它不一定能生成合法的台阶。一个台阶是合法的,当且仅当$h_1<h_2<\dots<h_{n-1}<h_n$。 你现在想知道,计算机生成出合法台阶的概率是多少? Input 第一行包含一个正整数$T(1\leq T\leq 10)$,表示测试数据的组数。 每组数据第一行包含一个正整数$n(1\leq n\leq 2000)$,表示台阶的级数。 第二行包含$n$个正整数$a_1,a_2,\dots,a_n(1\leq a_i\leq 10^9)$。 Output 对于每组数据输出一行一个非负整数,表示合法的概率。 为了避免精度带来的误差,我们可以证明答案一定可以表示成$\frac{A}{B}$的形式。请输出$C$,$C$满足$0\leq C<10^9+7$且$A\equiv B\times C\pmod{10^9+7}$。 Sample Input
Sample Output
Author Claris Source | ||||||||||
|