AT_abc433_f [ABC433F] 1122 Subsequence 2
题目描述
给定一个由数字组成的字符串 $S$。
一个字符串 $T$ 被称为 **1122-字符串**,当且仅当它满足以下所有条件(定义同问题 C):
- $T$ 是一个非空的数字字符串;
- $|T|$ 是偶数,其中 $|T|$ 表示字符串 $T$ 的长度;
- $T$ 的第 $1$ 到第 $\frac{|T|}2$ 个字符都是相同的数字;
- $T$ 的第 $(\frac{|T|}2+1)$ 到第 $|T|$ 个字符都是相同的数字;
- 将 $T$ 的第 $1$ 个字符代表的数字加 $1$,恰好等于 $T$ 的第 $|T|$ 个字符代表的数字。
例如,`1122`、`01` 和 `444555` 都是 1122-字符串,而 `1222` 和 `90` 不是 1122-字符串。
请计算 $S$ 的**(不一定连续的)子序列**中有多少个是 1122-字符串。由于答案可能很大,请对 $998244353$ 取模。
两个子序列只要抽取的位置不同,即使内容相同,也要分别计数。
输入格式
输入由标准输入给出,格式如下:
> $S$
输出格式
输出 $S$ 中所有 1122-字符串子序列的个数,对 $998244353$ 取模。
说明/提示
### 样例解释 1
以下五个子序列满足条件:
- 从 $S$ 的第 $1$ 和第 $3$ 个字符抽取得到的 `12`
- 从 $S$ 的第 $1$ 和第 $4$ 个字符抽取得到的 `12`
- 从 $S$ 的第 $2$ 和第 $3$ 个字符抽取得到的 `12`
- 从 $S$ 的第 $2$ 和第 $4$ 个字符抽取得到的 `12`
- 从 $S$ 的第 $1$ 到第 $4$ 个字符依次抽取得到的 `1122`
因此输出 $5$。
注意:只要抽取位置不同,即使形成的子序列字符串相同,也分别计数。
### 样例解释 2
可能没有任何子序列是 1122-字符串。
### 数据范围
- $S$ 是一个长度在 $1$ 到 $10^6$ 之间的数字字符串。
由 ChatGPT 5 翻译