#643. 眺望高塔(Easy)

    ID: 643 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 提高+/省选− 上传者: 标签>动态规划线性DP数学排列组合

眺望高塔(Easy)

题目描述

给定一列长度为 mm 的塔,高度为 hih_i(第 ii 个塔)。 从左侧观看时,你能看到那些严格高于其左侧所有塔的塔;从右侧观看时,你能看到那些严格高于其右侧所有塔的塔。设对于一列高度序列 hh:

  • L(h)L(h) 为从左侧能看到的高度的集合(按出现顺序),
  • R(h)R(h) 为从右侧能看到的高度的集合(按出现顺序)。

现在给出序列 a1,a2,…,ana_1,a_2,\dots,a_n。求满足下面条件的子序列个数(不同子序列按选取的下标不同计为不同):

  • 对选出的任意子序列 a′a',有 L(a)=L(a′)L(a)=L(a') 且 R(a)=R(a′)R(a)=R(a')。

答案对 998244353998244353 取模。

输入格式

第一行包含一个整数 tt(测试用例数)。 每个测试用例包含两行:

  • 第一行一个整数 nn(长度),
  • 第二行 nn 个整数 a1,a2,…,ana_1,a_2,\dots,a_n。

输出格式

对每个测试用例输出一行:满足条件的子序列个数,对 998244353998244353 取模。

样例输入

5
5
4 2 4 8 3
5
1 2 3 2 1
6
1 2 3 3 2 1
9
3 5 5 7 4 6 7 2 4
1
10

样例输出

5
1
3
51
1

说明

样例解释

在第一个示例中, L(a)={4,8}L(a) = \{4, 8\} , R(a)={3,8}R(a) = \{3, 8\} 。答案中包含的子序列是

  • [4,8,3][4, 8, 3] (第 11 、 44 、 55 个 元素);
  • [4,8,3][4, 8, 3] (第 33 、 44 、 55 个元素);
  • [4,2,8,3][4, 2, 8, 3] ( 第 11 、 22 、 44 、 55 个元素);
  • [4,4,8,3][4, 4, 8, 3] ( 第 11 、 33 、 44 、 55 个元素);
  • [4,2,4,8,3][4, 2, 4, 8, 3] (整个序列)。

在第二个例子中,唯一有效的子序列就是给定序列本身。

数据范围

  • 1≤t≤1001\le t\le 100,
  • 1≤n≤50001\le n\le 5000,
  • 所有测试用例中 nn 的总和不超过 50005000。
  • 每个 aia_i 满足 1≤ai≤1091\le a_i\le 10^9。