题目描述
给定一个长度为 N 的整数序列 A1, A2, ⋯, AN。
同样长度为 N 的整数序列 X,对于每个 i (1≤i≤N),Xi 独立且等概率地从满足 1≤Xi≤Ai 的整数中随机选取。
此时,请计算 X 的最长严格递增子序列长度的期望值,并对 1000000007 取模输出。
更准确地说,期望值可以表示为一个既约分数 QP,并且根据本题的约束,可以证明存在唯一的整数 R 满足 R×Q≡P(mod1000000007),且 0≤R<1000000007。请输出这个 R。
输入格式
输入通过标准输入按以下格式给出。
N A1 A2 ⋯ AN
输出格式
请输出期望值对 1000000007 取模后的结果。
样例 1
输入
3
1 2 3
输出
2
样例 2
输入
3
2 1 2
输出
500000005
样例 3
输入
6
8 6 5 10 9 14
输出
959563502
说明/提示
注释
序列 X 的子序列指的是从 X 中按原顺序取出若干元素所形成的序列。X 的最长递增子序列指的是 X 的所有严格递增子序列中长度最大的一个。
约束
- 1≤N≤6
- 1≤Ai≤109
- 输入均为整数
样例解释 1
X 共有 6 种可能,概率均为 1/6:
- X=(1,1,1) 时,最长递增子序列长度为 1。
- X=(1,1,2) 时,最长递增子序列长度为 2。
- X=(1,1,3) 时,最长递增子序列长度为 2。
- X=(1,2,1) 时,最长递增子序列长度为 2。
- X=(1,2,2) 时,最长递增子序列长度为 2。
- X=(1,2,3) 时,最长递增子序列长度为 3。
因此,最长递增子序列长度的期望值为 (1+2+2+2+2+3)/6≡2(mod1000000007)。
样例解释 2
X 共有 4 种可能,概率均为 1/4:
- X=(1,1,1) 时,最长递增子序列长度为 1。
- X=(1,1,2) 时,最长递增子序列长度为 2。
- X=(2,1,1) 时,最长递增子序列长度为 1。
- X=(2,1,2) 时,最长递增子序列长度为 2。
因此,最长递增子序列长度的期望值为 (1+2+1+2)/4=3/2,而 2×500000005≡3(mod1000000007),所以请输出 500000005。
由 ChatGPT 4.1 翻译