AT_abc468_g [ABC468G] Restricted Permutation

题目描述

给定一个整数 $N$ 和一个长度为 $N$ 的字符串 $S$,$S$ 仅由 `o` 和 `x` 组成。 请你计算满足如下条件的排列 $P=(P_1,P_2,\ldots,P_N)$($P$ 是 $1$ 到 $N$ 的一个排列)有多少个,结果对 $998244353$ 取模。 - 对每个 $k=1,2,\ldots,N$,以下两个条件等价。 - $S_k=$ `o` - $P$ 包含 $(1,2,\ldots,k)$ 的某个排列,且这些数是排列的一个连续子序列。

输入格式

从标准输入读入数据,格式如下: > $N$ $S$

输出格式

输出一个整数,表示满足条件的排列个数。

说明/提示

### 样例解释 1 $P=(1,3,2)、(2,3,1)$ 满足条件。 ### 样例解释 2 没有任何 $P$ 满足条件。 ### 数据范围 - $1\le N\le 2000$ - $S_i$ 是长度为 $N$ 的仅包含 `o` 和 `x` 的字符串。 由 ChatGPT 5 翻译