AT_abc312_d.[ABC312D] Count Bracket Sequences

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个非空字符串 SS,其中每个字符都是 (、) 或 ? 之一。
如果 SS 中包含 xx 个 ?,那么将每个 ? 替换为 ( 或 ) 可以得到 2x2^x 种新的字符串。请你计算,在这些替换方式中,使得新字符串成为括号序列的方案数,并输出其对 998244353998244353 取模的结果。

括号序列定义如下:

  • 空字符串;
  • 存在某个括号序列 AA,将 (、AA、) 按顺序连接得到的字符串;
  • 存在某些非空括号序列 A,BA, B,将 A,BA, B 按顺序连接得到的字符串。

输入格式

输入为标准输入,格式如下:

SS

输出格式

请输出答案。

输入输出样例

  • 输入#1

    (???(?

    输出#1

    2
  • 输入#2

    )))))

    输出#2

    0
  • 输入#3

    ??????????????(????????(??????)?????????(?(??)

    输出#3

    603032273

说明/提示

限制条件

  • SS 是一个长度不超过 30003000 的非空字符串,仅由 (、)、? 组成。

样例解释 1

将 SS 替换为 ()()() 或 (())() 时,可以得到括号序列。除此之外,没有其他替换方式能得到括号序列,因此输出 22。

样例解释 3

请输出对 998244353998244353 取模的结果。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页