#CSES1748. 递增子序列 II

    ID: 399 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>动态规划LIS树状数组线段树离散化取模CSES

递增子序列 II

题目背景

翻译自 CSES-1748 题。

题目描述

给定一个包含 nn 个整数的数组,你的任务是计算该数组包含的递增子序列的数量。如果两个子序列具有相同的值,但在数组中的位置不同,那么它们会被分别计算。

输入格式

第一行包含一个整数 nn,表示数组的大小。

第二行包含 nn 个整数 x1,x2,,xnx_1, x_2, \ldots, x_n,表示数组的内容。

输出格式

输出一个整数:递增子序列的数量,取模 109+710^9 + 7

样例

3
2 1 3
5

提示

递增子序列包括:[2][2][1][1][3][3][2,3][2, 3][1,3][1, 3]

数据范围

  • 1n2×1051 \le n \le 2 \times 10^5
  • 1xi1091 \le x_i \le 10^9