AT_abc296_f [ABC296F] Simultaneous Swap
题目描述
给定长度为 $N$ 的数列 $A=(A_1,A_2,\ldots,A_N)$,$B=(B_1,B_2,\ldots,B_N)$。
高桥君可以任意次(也可以一次都不做)重复以下操作:
> 选择 $1$ 到 $N$ 之间任意互不相同的 $3$ 个整数 $i,j,k$。
> 将 $A$ 的第 $i$ 个元素与第 $j$ 个元素交换,同时将 $B$ 的第 $i$ 个元素与第 $k$ 个元素交换。
如果高桥君能够通过若干次操作使 $A$ 和 $B$ 完全相同(即对于任意 $1\leq i\leq N$,都有 $A_i=B_i$),请输出 `Yes`,否则输出 `No`。
输入格式
输入以如下格式从标准输入读入。
> $N$ $A_1$ $A_2$ $\ldots$ $A_N$ $B_1$ $B_2$ $\ldots$ $B_N$
输出格式
如果高桥君能够通过若干次操作使 $A$ 和 $B$ 完全相同,则输出 `Yes`,否则输出 `No`。
说明/提示
### 限制条件
- $3\leq N\leq 2\times 10^5$
- $1\leq A_i,B_i\leq N$
- 输入均为整数
### 样例解释 1
通过一次操作,选择 $(i,j,k)=(1,2,3)$,可以将 $A_1$ 和 $A_2$ 交换,同时将 $B_1$ 和 $B_3$ 交换,此时 $A,B$ 都变为 $(2,1,1)$,因此输出 `Yes`。
### 样例解释 2
无论如何操作,都无法使 $A$ 和 $B$ 完全一致,因此输出 `No`。
由 ChatGPT 4.1 翻译