问题 5673 --相等子序列

5673: 相等子序列

题目描述

给定一个长度为 $n$ 的整数序列 $a_1,a_2,\cdots,a_n$,请计算它有多少个本质不同的子序列。由于答案可能很大,输出方案数量模 $1,000,000,007$ 的余数。 子序列是从原序列去除部分数字组成的新序列,不能为空,原序列本身也算是自身的子序列。两个子序列长度不同,则算是不相同的,若长度相同,且对应的数字完全一致,就算这些数字在原序列中的位置不完全相同,也被视作是本质相同的。

输入

第一行:单个整数 $n$,代表序列长度 第二行:$n$ 个整数 ,代表 $a_1$ 到 $a_n$

输出

单个整数:表示本质不同的子序列个数模 $10^9+7$的余数。

样例输入输出

输入#1 复制
4 
1 2 3 2
输出#1 复制
13

提示

+ 对于 $30\%$ 的数据,保证 $1\leq n\leq 15$; + 对于 $50\%$ 的数据,保证 $1\leq n\leq 10^3$; + 对于 $100\%$ 的数据,保证 $1\leq n\leq 10^6$; + $1\leq ai\leq 10^6$
序号 标题 作者 发表时间 费用 订购数 操作