atcoder#ABC296F. [ABC296F] Simultaneous Swap

[ABC296F] Simultaneous Swap

配点 : 500500

問題文

長さ NN の数列 A=(A1,A2,,AN)A=(A_1,A_2,\ldots,A_N), B=(B1,B2,,BN)B=(B_1,B_2,\ldots,B_N) が与えられます。

高橋君は次の操作を好きなだけ (00 回でも良い) 繰り返す事ができます。

11 以上 NN 以下の、どの 22 つも互いに相異なる 33 つの整数 i,j,ki,j,k を選ぶ。 AAii 番目の要素と jj 番目の要素を交換し、BBii 番目の要素と kk 番目の要素を交換する。

高橋君がうまく操作を繰り返すことによって、 AABB を一致させる事が可能ならば Yes を、不可能ならば No を出力してください。 ただし、AABB が一致しているとは、任意の 1iN1\leq i\leq N について AAii 番目の要素と BBii 番目の要素が等しいことを言います。

制約

  • 3N2×1053 \leq N \leq 2\times 10^5
  • 1Ai,BiN1\leq A_i,B_i\leq N
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN

A1A_1 A2A_2 \ldots ANA_N

B1B_1 B2B_2 \ldots BNB_N

出力

操作を繰り返すことによって、高橋君が AABB を一致させる事が可能ならば Yes を、不可能ならば No を出力せよ。

3
1 2 1
1 1 2
Yes

(i,j,k)=(1,2,3)(i,j,k)=(1,2,3) として 11 回操作を行うことで、A1A_1A2A_2B1B_1B3B_3 がそれぞれ交換され、 A,BA,B はともに (2,1,1)(2,1,1) となって一致します。よって、Yes を出力します。

3
1 2 2
1 1 2
No

どのように操作を行っても AABB を一致させることはできません。よって、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