UOJ Logo Universal Online Judge

UOJ

#1049. 梦回CSP

统计

梦回CSP(brackets.cpp/1s/512MB)

题目背景

不知何时,qwq123发现自己来到了CSP2202的考场,由于C**的尿性,四道关于括号序列的题摆在了他的眼前,思考一段时间后,他发现发现自己根本不会2202年的科技,所以根本做不出来,只能打暴力了。

正在他在考场自闭的时候,突然发现数据的生成方式,有些特别。

题目描述

造数据的工作人员确定了括号序列 $S$ 的长度 $n$ 和一个参数 $m$。$S$ 初始时全为 (。接下来会按照如下流程随机不断进行,直到 $m=0$:

  1. 在 $[1,n]$ 的范围内均匀随机一个整数,把 $S$ 这一位上的括号取反(左括号变右括号,右括号变左括号)。
  2. 如果本次操作使得 ( 的数量减少了,使 $m$ 的值减 $1$。

为避免出现不合法的括号序列,工作人员只会保留$S$ 中最长合法括号子序列(不要求连续)。他想知道 $S$ 最终的期望长度,以便他看看暴力能水过多少的点。答案模 $998244353$ 。

输入格式

一行两个整数 $n,m$ 。

输出格式

一行一个整数,表示答案。

样例一

输入

2 2

输出

499122177

样例解释

最终括号序列只有 $3$ 种,))())(。其对应的概率分别为 $\frac{1}{2}$,$\frac{1}{4}$,$\frac{1}{4}$。

它们对应的最长合法括号子序列长度分别为 $0,2,0$。所以最终答案为 $\frac{1}{2}$,也即 $499122177$。

样例二

输入

4 2

输出

873463811

数据范围

对于所有数据,保证 $n,m\le 5\times 10^3$ 。

数据点编号 $\;\;\;\;$ 数据范围
$1$ $\;\;\;\;$ $n=1$
$2$ $\;\;\;\;$ $n=2$
$3\sim 4$ $\;\;\;\;$ $n\le 7,m\le 5$
$5\sim 7$ $\;\;\;\;$ $n\le 15,m\le 500$
$8\sim 10$ $\;\;\;\;$ $n,k\le 50$
$11\sim 13$ $\;\;\;\;$ $N\le 500$,$K\le 100$
$14\sim 20$ $\;\;\;\;$ 无限制