#AT2530. F - Simultaneous Swap

F - Simultaneous Swap

当前没有测试数据。

F - 同时交换

分数:500

问题描述

给出两个长度为 $N$ 的序列:$A=(A_1,A_2,\ldots,A_N)$ 和 $B=(B_1,B_2,\ldots,B_N)$。

高橋可以任意次(包括0次)地进行以下操作。

选择三个两两不同的数 $i$、$j$ 和 $k$,其中 $1\leq i,j,k\leq N$。
交换 $A$ 的第 $i$ 个元素和第 $j$ 个元素,并交换 $B$ 的第 $i$ 个元素和第 $k$ 个元素。

如果高橋能通过重复此操作使 $A$ 和 $B$ 相等,则输出 Yes;否则输出 No
这里,当对于 $1\leq i\leq N$,$A$ 的第 $i$ 个元素与 $B$ 的第 $i$ 个元素相等时,$A$ 和 $B$ 被认为是相等的。

约束

  • $3 \leq N \leq 2\times 10^5$
  • $1\leq A_i,B_i\leq N$
  • 输入的所有值均为整数。

输入

输入以以下格式从标准输入中给出:

NN

A1A_1 A2A_2 \ldots ANA_N

B1B_1 B2B_2 \ldots BNB_N

输出

如果高橋能通过重复操作使 $A$ 和 $B$ 相等,则输出 Yes;否则,输出 No


3
1 2 1
1 1 2
Yes

使用 $(i,j,k)=(1,2,3)$ 进行一次操作,交换 $A_1$ 和 $A_2$,交换 $B_1$ 和 $B_3$,使得 $A$ 和 $B$ 都变为 $(2,1,1)$。因此应该输出 Yes


3
1 2 2
1 1 2
No

无论如何都无法进行操作使得 $A$ 和 $B$ 相等,因此应该输出 No


5
1 2 3 2 1
3 2 2 1 1
Yes

8
1 2 3 4 5 6 7 8
7 8 5 6 4 3 1 2
No