AT_abc430_f [ABC430F] Back and Forth Filling

题目描述

给定一个整数 $N$,以及一个由 $N-1$ 个 `L` 和 `R` 组成的字符串 $S$。 请考虑将整数写入 $N$ 个按一排排列的格子,满足以下条件: - 每个格子上写一个整数。 - 每个整数 $1,2,\dots,N$ 恰好出现一次。 - 当 $S$ 的第 $i$ 个字符为 `L` 时,$i+1$ 被写在 $i$ 的左边。 - 当 $S$ 的第 $i$ 个字符为 `R` 时,$i+1$ 被写在 $i$ 的右边。 记 $C_i$ 为可以写在从左往右第 $i$ 个格子的整数的数量。求 $C_1,C_2,\dots,C_N$。 有 $T$ 组测试数据,请你对每组数据输出答案。

输入格式

输入从标准输入读入,格式如下: $T$ $\text{case}_1$ $\text{case}_2$ $\vdots$ $\text{case}_T$ 每一组测试数据包含一行: $N$ $S$

输出格式

输出共 $T$ 行。 第 $i$ 行输出第 $i$ 组测试数据的答案,格式为: $C_1$ $C_2$ $\dots$ $C_N$

说明/提示

### 样例解释 1 本输入包含五组测试数据。 - 第一组数据,共有 $11$ 种填法,具体如下: - $(1,4,3,2,5)$ - $(1,4,3,5,2)$ - $(1,4,5,3,2)$ - $(4,1,3,2,5)$ - $(4,1,3,5,2)$ - $(4,1,5,3,2)$ - $(4,3,1,2,5)$ - $(4,3,1,5,2)$ - $(4,3,5,1,2)$ - $(4,5,1,3,2)$ - $(4,5,3,1,2)$ - 由此可得每个 $C_i$ 的值如下: - 第 $1$ 个格子可以放 $1,4$,共 $2$ 个整数。 - 第 $2$ 个格子可以放 $1,3,4,5$,共 $4$ 个整数。 - 第 $3$ 个格子可以放 $1,3,5$,共 $3$ 个整数。 - 第 $4$ 个格子可以放 $1,2,3,5$,共 $4$ 个整数。 - 第 $5$ 个格子可以放 $2,5$,共 $2$ 个整数。 - 第二组数据,共有 2 种填法如下: - $(1,3,2)$ - $(3,1,2)$ - 第三组数据,只有 1 种填法 $(2,1)$。 - 第四组数据,只有 1 种填法 $(1,2,3)$。 ### 数据范围 - $1 \le T \le 20000$ - $2 \le N \le 3 \times 10^5$ - $S$ 是长度为 $N-1$、只包含字符 `L` 和 `R` 的字符串。 - 对于所有测试数据,所有 $N$ 的总和不超过 $3 \times 10^5$。 由 ChatGPT 5 翻译