atcoder#AGC038F. [AGC038F] Two Permutations

[AGC038F] Two Permutations

题目描述

すぬけくんは、(0,1,,N1) (0,1,\cdots,N-1) の順列 (P0,P1,,PN1) (P_0,P_1,\cdots,P_{N-1}) (Q0,Q1,,QN1) (Q_0,Q_1,\cdots,Q_{N-1}) を持っています。

すぬけくんはこれから、(0,1,,N1) (0,1,\cdots,N-1) の順列 A A および B B を、以下の条件を満たすように作ります。

  • それぞれの i i (0  i  N1 0\ \leq\ i\ \leq\ N-1 ) について、Ai A_i i i または Pi P_i である。
  • それぞれの i i (0  i  N1 0\ \leq\ i\ \leq\ N-1 ) について、Bi B_i i i または Qi Q_i である。

順列 A A B B の距離を、Ai  Bi A_i\ \neq\ B_i となる i i の個数と定義します。 A A B B の距離の最大値を求めてください。

输入格式

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

N N P0 P_0 P1 P_1 \cdots PN1 P_{N-1} Q0 Q_0 Q1 Q_1 \cdots QN1 Q_{N-1}

输出格式

順列 A A B B の距離の最大値を出力せよ。

题目大意

【题意简述】

给定两个 0(N1)0 \sim (N - 1) 的排列 {P0,P1,,PN1}\{P_0, P_1, \ldots , P_{N - 1}\}{Q0,Q1,,QN1}\{Q_0, Q_1, \ldots , Q_{N - 1}\}

要求构造两个 0(N1)0 \sim (N - 1) 的排列 {A0,A1,,AN1}\{A_0, A_1, \ldots , A_{N - 1}\}{B0,B1,,BN1}\{B_0, B_1, \ldots , B_{N - 1}\}

且必须满足条件:

  • AiA_i 要么等于 ii,要么等于 PiP_i
  • BiB_i 要么等于 ii,要么等于 QiQ_i

你需要最大化 AiBiA_i \ne B_i 的下标 ii 的数量,输出这个最大值。

【输入格式】

第一行一个整数 NN
第二行 NN 个整数 P0,P1,,PN1P_0, P_1, \ldots , P_{N - 1}
第三行 NN 个整数 Q0,Q1,,QN1Q_0, Q_1, \ldots , Q_{N - 1}

【输出格式】

输出一个整数表示答案。

【数据范围】

对于 100%100\% 的数据,1N1051 \le N \le {10}^5

4
2 1 3 0
0 2 3 1
3
10
0 4 5 3 7 8 2 1 9 6
3 8 5 6 4 0 2 1 7 9
8
32
22 31 30 29 7 17 16 3 14 9 19 11 2 5 10 1 25 18 15 24 20 0 12 21 27 4 26 28 8 6 23 13
22 3 2 7 17 9 16 4 14 8 19 26 28 5 10 1 25 18 15 13 11 0 12 23 21 20 29 24 27 6 30 31
28

提示

制約

  • 1  N  100000 1\ \leq\ N\ \leq\ 100000
  • 0  Pi  N1 0\ \leq\ P_i\ \leq\ N-1
  • P0,P1,,PN1 P_0,P_1,\cdots,P_{N-1} はすべて異なる。
  • 0  Qi  N1 0\ \leq\ Q_i\ \leq\ N-1
  • Q0,Q1,,QN1 Q_0,Q_1,\cdots,Q_{N-1} はすべて異なる。
  • 入力される値はすべて整数である。

Sample Explanation 1

例えば、A=(0,1,2,3), B=(0,2,3,1) A=(0,1,2,3),\ B=(0,2,3,1) とすると距離が 3 3 になり、これが最大です。