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 翻译