AT_abc446_g [ABC446G] 221 Subsequence
题目描述
对于一个由正整数组成的序列 $X = (X_1, \dots, X_n)$,我们称 $X$ 是一个 **221 序列**,当且仅当对其行程长度编码中的每一对(长度,数值),长度和数值都相等。更正式地说,满足以下条件的序列被称为 221 序列:
- 对于任意整数对 $(l, r)$,其中 $1 \leq l \leq r \leq n$,如果以下三个条件都成立,则有 $(r-l+1) = X_l$。
- $l = 1$ 或($l \geq 2$ 且 $X_{l-1} \neq X_l$)
- $r = n$ 或($r \leq n-1$ 且 $X_{r+1} \neq X_r$)
- $X_l = X_{l+1} = \dots = X_r$
例如,$(2,2,3,3,3,1,2,2)$ 是一个 221 序列,但 $(1,1)$ 和 $(4,4,1,4,4)$ 不是 221 序列。
给定一个长度为 $N$ 的正整数序列 $A = (A_1, \dots, A_N)$,求 $A$ 的所有非空(不一定连续)子序列中,不同的 221 序列的数量,结果对 $998244353$ 取模。即使两个子序列来源于不同位置,只要它们作为序列完全相同,也只计数一次。
输入格式
输入按以下格式从标准输入读入:
> $N$ $A_1$ $A_2$ $\cdots$ $A_N$
输出格式
输出一行,为答案。
说明/提示
### 样例解释 1
作为 $A$ 的非空子序列出现的 221 序列有以下五个:
- $(1)$
- $(1,2,2)$
- $(2,2)$
- $(2,2,1)$
- $(2,2,1,2,2)$
### 样例解释 2
没有 221 序列作为 $A$ 的非空子序列出现。
### 约束条件
- $1 \leq N \leq 500\,000$
- $1 \leq A_i \leq N$
- 所有输入都是整数。
由 ChatGPT 5 翻译