#P14230. 不连续子串 / subseq

    ID: 12964 Type: RemoteJudge 1000ms 1024MiB Tried: 0 Accepted: 0 Difficulty: 6 Uploaded By: Tags>动态规划 DP2024O2优化

不连续子串 / subseq

题目背景

前有连续子序列,接下来,读题很有用。

前无马。

题目描述

给你一个长为 nn 的序列 a1na_{1\dots n},你需要求出其所有本质不同非空子序列的本质不同非空子序列数量之和。

形式化地,你需要求出有多少正整数序列对 (b1l1,c1l2)(b_{1\dots l_1},c_{1\dots l_2}),满足存在两个序列 p1l1,q1l2p_{1\dots l_1},q_{1\dots l_2} 使得:

  • 1p1<p2<<pl1n1\le p_1<p_2<\dots<p_{l_1}\le n
  • i[1,l1],bi=api\forall i\in[1,l_1],b_i=a_{p_i}
  • 1q1<q2<<ql2l11\le q_1<q_2<\dots<q_{l_2}\le l_1
  • i[1,l2],ci=bqi\forall i\in[1,l_2],c_i=b_{q_i}

将答案对 109+710^9+7 取模。

输入格式

第一行一个正整数 nn

第二行 nn 个正整数描述 a1na_{1\dots n}

输出格式

一行一个整数表示答案,对 109+710^9+7 取模。

3
1 2 3
19
3
1 2 2
12
10
5 5 2 5 3 4 1 4 4 3 

15735

提示

样例 1 解释

有如下共 1919 种合法序列对:

  • b=(1,2,3),c=(1,2,3)b=(1,2,3),c=(1,2,3)
  • b=(1,2,3),c=(1,2)b=(1,2,3),c=(1,2)
  • b=(1,2,3),c=(1,3)b=(1,2,3),c=(1,3)
  • b=(1,2,3),c=(2,3)b=(1,2,3),c=(2,3)
  • b=(1,2,3),c=(1)b=(1,2,3),c=(1)
  • b=(1,2,3),c=(2)b=(1,2,3),c=(2)
  • b=(1,2,3),c=(3)b=(1,2,3),c=(3)
  • b=(1,2),c=(1,2)b=(1,2),c=(1,2)
  • b=(1,2),c=(1)b=(1,2),c=(1)
  • b=(1,2),c=(2)b=(1,2),c=(2)
  • b=(2,3),c=(2,3)b=(2,3),c=(2,3)
  • b=(2,3),c=(2)b=(2,3),c=(2)
  • b=(2,3),c=(3)b=(2,3),c=(3)
  • b=(1,3),c=(1,3)b=(1,3),c=(1,3)
  • b=(1,3),c=(1)b=(1,3),c=(1)
  • b=(1,3),c=(3)b=(1,3),c=(3)
  • b=(1),c=(1)b=(1),c=(1)
  • b=(2),c=(2)b=(2),c=(2)
  • b=(3),c=(3)b=(3),c=(3)

样例 2 解释

有如下共 1212 种合法序列对:

  • b=(1,2,2),c=(1,2,2)b=(1,2,2),c=(1,2,2)
  • b=(1,2,2),c=(1,2)b=(1,2,2),c=(1,2)
  • b=(1,2,2),c=(2,2)b=(1,2,2),c=(2,2)
  • b=(1,2,2),c=(1)b=(1,2,2),c=(1)
  • b=(1,2,2),c=(2)b=(1,2,2),c=(2)
  • b=(1,2),c=(1,2)b=(1,2),c=(1,2)
  • b=(1,2),c=(1)b=(1,2),c=(1)
  • b=(1,2),c=(2)b=(1,2),c=(2)
  • b=(2,2),c=(2,2)b=(2,2),c=(2,2)
  • b=(2,2),c=(2)b=(2,2),c=(2)
  • b=(1),c=(1)b=(1),c=(1)
  • b=(2),c=(2)b=(2),c=(2)

数据范围与约定

本题采用捆绑测试。

::cute-table | 子任务编号 | nn\le | 特殊性质 | 分值 | | :----------: | :----------: | :----------: | :----------: | | 11 | 1010 | 无 | 1010 | | 22 | 2020 | ^ | 1010 | | 33 | 100100 | ^ | 1515 | | 44 | 500500 | ^ | 1515 | | 55 | 80008000 | ai2a_i\le 2 | 1515 | | 66 | ^ | ai5a_i\le 5 | 1010 | | 77 | ^ | 无 | 2525 |

对于所有数据,保证 1n80001\le n\le 80001ain1\le a_i\le n

保证本题模数 109+7\bm{10^9+7} 不等于 998244853\bm{998244853}223\bm{2^{23}}