#iai15a3. 不等子序列(Unequal Subsequences)

不等子序列(Unequal Subsequences)

不等子序列(Unequal Subsequences)

题目描述

给定一个数列 a₁,a₂,⋯,aₙ,请统计有多少个不相等的最长严格上升子序列。所谓两个序列不相等,就是这两个序列至少有一个对应的数字不相等。

例如对于 1,2,3,1,2,3,最长严格上升子序列是 1,2,3,尽管有多个不同的 1,但它们都是相等的。

由于答案可能很大,输出答案模 1,000,000,007 的余数。

输入格式

第一行:单个整数 n; 第二行:n 个整数 a₁,a₂,⋯,aₙ。

输出格式

单个整数:表示不相等的最长严格上升子序列的数量模 1,000,000,007 的余数。

数据范围

  • 对于 30% 的数据,1 ≤ n ≤ 100;
  • 对于 60% 的数据,1 ≤ n ≤ 2000;
  • 对于 100% 的数据,1 ≤ n ≤ 100,000,
  • 1 ≤ aᵢ ≤ n。

样例输入 #1

6 1 2 3 1 2 3

样例输出 #1

1

样例输入 #2

6 2 1 4 3 6 5

样例输出 #2

8

说明:第一项可以选1或2,第二项可以选3或4,第三项可以选5或6

知识点与难度

本题涉及的知识点从属于 GESP 7级,难度等级:⭐⭐⭐⭐


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例
1 20 3~8 小规模 n≤10 / 特殊: 严格递增 / 特殊: 严格递减
2 15 9~11 Hack: n=1 / Hack: 全相同 / Hack: 大量重复
3 30 12~20 中规模 n≈100~2000 / 大规模 n≈100000 压力
4 25 21~25 随机 n=1~100000 回归