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 翻译