AT_arc043_c [ARC043C] 転倒距離
题目描述
将 $1$ 到 $N$ 的整数重新排列得到的数列称为大小为 $N$ 的排列。
对于两个大小相同的排列 $X,\ Y$,在 $X$ 和 $Y$ 中顺序颠倒的数字对的个数称为 $X$ 和 $Y$ 的“逆序距离”。
例如,$[3,\ 1,\ 4,\ 2,\ 5]$ 和 $[2,\ 5,\ 3,\ 4,\ 1]$ 之间有如下 $7$ 个数字对的顺序发生了颠倒,因此它们的逆序距离为 $7$:
- $(1,\ 2),\ (1,\ 4),\ (1,\ 5),\ (2,\ 3),\ (2,\ 4),\ (3,\ 5),\ (4,\ 5)$
给定两个大小为 $N$ 的排列 $A$ 和 $B$。
请判断是否存在一个大小为 $N$ 的排列,使得它与 $A$ 的逆序距离等于它与 $B$ 的逆序距离。如果存在,请给出其中一个排列。
如果有多个答案,可以输出任意一个。
输入格式
输入通过标准输入按以下格式给出:
> $N$
> $A_1\ A_2\ \ldots\ A_N$
> $B_1\ B_2\ \ldots\ B_N$
- 第 $1$ 行给出一个整数 $N$,表示排列的大小,$1\leq N\leq 10^5$。
- 第 $2$ 行给出排列 $A$ 的 $N$ 个元素,空格分隔。第 $i$ 个整数为 $A$ 的第 $i$ 个元素 $A_i$,$1\leq A_i\leq N$。
- 第 $3$ 行给出排列 $B$ 的 $N$ 个元素,空格分隔。第 $i$ 个整数为 $B$ 的第 $i$ 个元素 $B_i$,$1\leq B_i\leq N$。
- 对于 $i\neq j$,有 $A_i\neq A_j$ 且 $B_i\neq B_j$。
输出格式
如果不存在满足条件的排列,则输出 $-1$。
如果存在,输出该排列的元素,空格分隔,输出一行。
说明/提示
### 部分分
本题设置了部分分。
- 对于 $1\leq N\leq 3,000$ 的数据集,答对可得 $30$ 分。
- 对于 $1\leq N\leq 10^5$ 的数据集,答对可再得 $70$ 分,总计 $100$ 分。
### 样例解释 1
设输出的排列为 $C$,则 $A$ 与 $C$ 的逆序距离和 $B$ 与 $C$ 的逆序距离均为 $5$。
### 样例解释 2
不存在同时与 $A$ 和 $B$ 具有相同逆序距离的排列。
由 ChatGPT 4.1 翻译