AT_pakencamp_2024_day3_2_g Bracket Sequence
题目描述
给定一个只包含 `(` 或 `)` 的字符串 $S$。请你解答以下问题。
- 有一个初始值为 $0$ 的变量 $x$,以及一个长度为 $0$ 的数列 $h$。你可以任意次数($0$ 次及以上)执行如下操作:
- 向 $h$ 添加 $x$。然后,你可以选择以下两种操作之一:
- 用 $x+1$ 替换 $x$。
- 从 $S$ 的第 $x+1$ 个字符到第 $y$ 个字符所构成的子串是「正规括号序列」的任意 $y$,用 $y$ 替换 $x$。该操作仅当 $x\leq |S|-1$ 时可执行。
- 当你停止操作时,如果 $x=|S|$,求最终可能得到的 $h$ 的数目,对 $998244353$ 取模。
什么是正规括号序列?正规括号序列指的是,可以反复删除其中的 `()` 这样一段子串,最终可以变成空串的字符串。
输入格式
输入通过标准输入提供,格式如下:
> $S$
输出格式
请输出答案。
说明/提示
### 样例解释 1
最终可能得到的 $h$ 有如下 $6$ 种情况:
- $(0)$
- $(0,1,5)$
- $(0,1,3,5)$
- $(0,1,3,4,5)$
- $(0,1,2,3,5)$
- $(0,1,2,3,4,5)$
### 数据范围
- $S$ 是一个只包含 `(` 或 `)` 的字符串,长度 $1 \leq |S| \leq 200000$。
由 ChatGPT 5 翻译