AT_toyota2023spring_final_d Dual Rotation
题目描述
给定一个长度为 $N$ 的排列 $P=(P_0, P_1, \cdots, P_{N-1})$。
我们对每一组整数 $a, b$($0 \leq a, b \leq N-1$),定义一个新的排列 $f(a, b)$,其定义方式如下:
- 令 $f(a, b) = (q_0, q_1, \cdots, q_{N-1})$,其中 $q_{(i+a) \bmod N} = (P_i + b) \bmod N$,对于所有 $i$ 满足 $0 \leq i \leq N-1$。
这样我们就可以为所有可能的 $a, b$ 组合生成一共 $N^2$ 个排列。现在,请将这些排列按字典序排序,输出其中第 $K$ 小的那个排列。
字典序的定义是:给定两个数列 $S = (S_1, S_2, \ldots, S_{|S|})$ 和 $T = (T_1, T_2, \ldots, T_{|T|})$,如果以下条件之一成立,则 $S$ 在字典序上比 $T$ 更小:
1. $S$ 的长度 $|S|$ 小于 $T$ 的长度 $|T|$,且 $S$ 是 $T$ 的前缀。
2. 存在一个位置 $i$($1 \leq i \leq \min\{|S|, |T|\}$),使得在 $i-1$ 之前两数列是相同的,而在位置 $i$,$S_i$ 比 $T_i$ 小。
输入格式
输入由标准输入给出,格式如下:
> $N$ $K$ $P_0$ $P_1$ $\cdots$ $P_{N-1}$
输出格式
请输出第 $K$ 小的排列,排列中的元素用空格隔开。
说明/提示
### 约束条件
- $1 \leq N \leq 2 \times 10^5$
- $1 \leq K \leq N^2$
- $(P_0, P_1, \cdots, P_{N-1})$ 是 $(0, 1, \cdots, N-1)$ 的一个排列
- 所有输入值均为整数
### 样例解释
考虑 $f(a, b)$ 的可能性如下:
- $f(0, 0) = (0, 1)$
- $f(0, 1) = (1, 0)$
- $f(1, 0) = (1, 0)$
- $f(1, 1) = (0, 1)$
按字典序排序后为:$(0, 1), (0, 1), (1, 0), (1, 0)$。于是,排在第 $2$ 的是 $(0, 1)$。
**本翻译由 AI 自动生成**