7381: 子序列个数
[Creator : ]
Description
子序列的定义:对于一个序列 a=a[1],a[2],......a[n]。则非空序列 a'=a[$p_1$],a[$p_2$]......a[$p_m$] 为 a 的一个子序列,其中 $1\leq p_1<p_2<.....<p_m\leq n$。
例如 4,14,2,3 和 14,1,2,3 都为 4,13,14,1,2,3 的子序列。
对于给出序列 a,有些子序列可能是相同的,这里只算做 1 个,请输出 a 的不同子序列的数量。
由于答案比较大,输出 $\bmod 10^9 + 7$ 的结果即可。
例如 4,14,2,3 和 14,1,2,3 都为 4,13,14,1,2,3 的子序列。
对于给出序列 a,有些子序列可能是相同的,这里只算做 1 个,请输出 a 的不同子序列的数量。
由于答案比较大,输出 $\bmod 10^9 + 7$ 的结果即可。
Input
第一行:一个数 $N$,表示序列的长度。
第二行:$N$ 个整数 $a_i$。
第二行:$N$ 个整数 $a_i$。
Output
输出 a 的不同子序列的数量。
Constraints
$1 \leq N \leq 10^6$
$1 \leq a_i \leq 10^6$
$1 \leq a_i \leq 10^6$
Sample 1 Input
4
1
2
3
2
Sample 1 Output
13
Sample 2 Input
10
468
60
55
402
463
141
75
11
71
440
Sample 2 Output
1023
Sample 3 Input
20
34
50
56
9
57
32
48
68
81
74
20
87
36
11
74
37
96
37
92
22
Sample 3 Output
903167
HINT
相同题目:51Nod。