#P13680. [ARC128D] Neq Neq

    ID: 12882 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 7 上传者: 标签>CF2200动态规划前缀和模拟计数DP分治贪心

[ARC128D] Neq Neq

题目描述

NN 个球排成一列,从左到右依次编号为 11NN。第 ii 个球上写有整数 AiA_i

你可以任意次重复以下操作:

  • 选择连续排列的 33 个球 x,y,zx, y, z1x<y<zN1 \leq x < y < z \leq N),要求 AxAyA_x \neq A_yAyAzA_y \neq A_z。然后吃掉球 yy。此操作后,球 xx 和球 zz 被认为在序列中连续排列。

请你求出,最终可能剩下的球的集合有多少种,答案对 998244353998244353 取模。

输入格式

输入通过标准输入给出,格式如下:

NN A1A_1 A2A_2 \cdots ANA_N

输出格式

请输出答案。

输入输出样例 #1

输入 #1

4
1 2 1 2

输出 #1

3

输入输出样例 #2

输入 #2

5
5 4 3 2 1

输出 #2

8

输入输出样例 #3

输入 #3

5
1 2 3 2 1

输出 #3

8

输入输出样例 #4

输入 #4

9
1 4 2 2 9 6 9 6 6

输出 #4

14

说明/提示

限制条件

  • 2N2000002 \leq N \leq 200000
  • 1AiN1 \leq A_i \leq N
  • 输入的所有值均为整数。

样例解释 1

最终可能剩下的球的集合有 {1,2,3,4},{1,2,4},{1,3,4}\{1,2,3,4\},\{1,2,4\},\{1,3,4\}33 种。

样例解释 2

即使操作方法不同,只要最终剩下的球的集合相同,也不区分。

样例解释 3

即使剩下的球上写的整数排列相同,只要球的集合不同,也要区分。