AT_arc220_b [ARC220B] Incomplete Shuffle

题目描述

给定一个正整数 $N$ 和两个长度为 $N$ 的整数序列 $A=(A_1,A_2,\ldots,A_N)$ 以及 $B=(B_1,B_2,\ldots,B_N)$。 你需要对 $A$ 执行 $N-1$ 次操作。第 $i$ 次操作 $(1\le i\le N-1)$ 方式如下: - 选择一个满足 $i < j \le N$ 的整数 $j$,交换 $A_i$ 和 $A_j$ 的值。 请你在进行了 $N-1$ 次操作后,求出可以使满足 $A_k = B_k$ 的下标 $k$($1\le k\le N$)的最大数量。 有 $T$ 组测试数据,请你依次输出每组测试数据的答案。

输入格式

输入从标准输入中读入,格式如下: > $T$ > $\text{case}_1$ > $\text{case}_2$ > $\vdots$ > $\text{case}_T$ 每组测试数据格式如下: > $N$ > $A_1\ A_2\ \ldots\ A_N$ > $B_1\ B_2\ \ldots\ B_N$

输出格式

按顺序输出每组测试数据的答案,每个答案占一行。

说明/提示

### 样例解释 1 考虑第一组测试数据。 通过如下操作,可以使得最后满足 $A_k=B_k$ 的下标 $k$ 的数量达到 $2$。 - 当 $i=1$ 时,选择 $j=2$,交换后 $A=(1,1,2)$。 - 当 $i=2$ 时,选择 $j=3$,交换后 $A=(1,2,1)$。 在完成 $N-1$ 次操作后,最多有 $2$ 个下标 $k$ 满足 $A_k=B_k$,所以第一行输出 $2$。 ### 数据范围 - $1\le T\le 10^5$ - $2\le N\le 3\times 10^5$ - $1\le A_i,B_i\le N$ - 所有测试数据中 $N$ 的总和不超过 $3\times 10^5$ - 所有的输入值均为整数。 由 ChatGPT 5 翻译