#P13573. [CCPC 2024 重庆站] Pico Park

[CCPC 2024 重庆站] Pico Park

题目背景

本题目来自仓库 https://github.com/Disposrestfully/CCPC-CQ-2024/tree/main

题目描述

Menji 在玩一款多人益智小游戏。

在这个游戏中,有 nn 名玩家,依次站在数轴的 1,2,3,,n1,2,3, \dots, n 处,第 ii 名玩家有一个面向的方向 did_i,为向左或向右。

每名玩家手里有一把缩小枪,玩家会按照一个排列 pp 的顺序行动,当轮到玩家 xx 行动时:

  • 若该玩家已经被缩小,则其不会进行任何行动。
  • 否则,其会向其面对的方向发射子弹,子弹会击中面对方向的第一个未被缩小的玩家(若面对方向已经没有玩家,则不会击中任何人)。被击中的玩家会立刻被缩小。

由于形势混乱,在实际游戏中,pp 会在所有 n!n! 个可能的排列中随机选取。

Menji 想知道,对于每一个 1kn1\leq k\leq n,有多少个排列会使最终剩余 kk 个未被缩小的玩家

由于答案很大,你只需要输出答案对 998244353998244353 取模后的值。

输入格式

第一行一个整数 n (2n500)n \ (2\leq n\leq 500)

接下来一行一个长度为 nn 的字符串 ss。其中 si{L,R}s_i\in\{\text{L},\text{R}\},若 si=Ls_i=\text{L} 则第 ii 名玩家面向左方(即玩家 11 所在方向),若 si=Rs_i=\text{R} 则第 ii 名玩家面向右方(即玩家 nn 所在方向)。

输出格式

输出一行 nn 个数,其中第 ii 个数表示最终剩余 ii 个未被缩小的玩家的排列数。

2
RL

2 0

4
LLRR

0 24 0 0

10
LRLRLLRRRR

0 0 0 604800 3024000 0 0 0 0 0