AT_abc465_c [ABC465C] Reverse Permutation

题目描述

给定一个整数 $N$ 和一个长度为 $N$ 的字符串 $S$,字符串 $S$ 仅包含 `o` 和 `x`。 有一个长度为 $N$ 的整数序列 $A=(A_1,A_2,\ldots,A_N)$。最初,$A=(1,2,\ldots,N)$。 你需要对 $A$ 依次进行如下操作(从 $k=1$ 到 $k=N$): - 如果 $S_k=$ `o`,则反转 $A$ 的前 $k$ 个元素。即,将 $A$ 变为 $(A_k,A_{k-1},\ldots,A_1,A_{k+1},A_{k+2},\ldots,A_N)$。 - 如果 $S_k=$ `x`,则什么也不做。 请输出所有操作结束后 $A$ 的最终状态。

输入格式

输入通过标准输入给出,格式如下: > $N$ > $S$

输出格式

输出所有操作完成后 $A$ 的元素,空格分隔。

说明/提示

### 样例解释 1 每一步操作后 $A$ 的变化如下: - $k=1$ 时:反转前 $1$ 个元素,$A$ 变为 $(1,2,3,4,5)$。 - $k=2$ 时:反转前 $2$ 个元素,$A$ 变为 $(2,1,3,4,5)$。 - $k=3$ 时:什么也不做。 - $k=4$ 时:反转前 $4$ 个元素,$A$ 变为 $(4,3,1,2,5)$。 - $k=5$ 时:反转前 $5$ 个元素,$A$ 变为 $(5,2,1,3,4)$。 所有操作结束后,$A=(5,2,1,3,4)$。 ### 数据范围 - $2 \le N \le 5 \times 10^5$ - $N$ 为整数。 - $S$ 为仅包含 `o` 和 `x` 的长度为 $N$ 的字符串。 由 ChatGPT 5 翻译