AT_kupc2020_m.Many Parentheses

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

括号序列是由 ( 和 ) 组成的字符串。我们将满足以下任一条件的序列称为正确的括号序列:

  • 空字符串
  • 存在一个正确的括号序列 AA,使得 (, AA, ) 按序连接构成新的序列
  • 存在非空的正确括号序列 SS 和 TT,使得 SS, TT 连接形成新的序列

现在有 NN 个不同的盒子,你希望向每个盒子中放入一个正确的括号序列,但必须满足这两个条件:

  1. 所有盒子中 ( 的总个数为 MM。
  2. 长度恰为 2×K2 \times K 的括号序列不能放入任何盒子。

请计算满足条件的所有不同放置方法的总数,并输出其除以 998244353998244353 的余数。

在这里,我们认为两种放置方法不同当且仅当在某个盒子中放入的括号序列不同。

输入格式

输入由以下三个整数给出,代表盒子数量、左括号总数以及禁止的长度:

NN MM KK

输出格式

输出满足条件的放置方法总数对 998244353998244353 取模后的结果。

输入输出样例

  • 输入#1

    2 2 1

    输出#1

    4
  • 输入#2

    1 1 1

    输出#2

    0
  • 输入#3

    24 120 30

    输出#3

    379268651

说明/提示

  • 1≤N≤1061 \leq N \leq 10^6
  • 1≤M≤1061 \leq M \leq 10^6
  • 1≤K≤M1 \leq K \leq M

部分分

  • 当 1≤N,M≤20001 \leq N, M \leq 2000 时,正确解答可得 1010 分。
  • 无额外限制的数据集,正确解答可额外得到 490490 分。

示例解释

例如,对于以下组合:

  • (()) ,空
  • ()() ,空
  • 空,(())
  • 空,()()

共计 44 种不同的放置方法。

本翻译由 AI 自动生成

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

首页