CF2117E Lost Soul

题目描述

给定两个长度均为 $n$ 的数组 $a$ 和 $b$。 你可以进行任意次如下操作: - 选择一个下标 $i$($1 \le i \le n-1$),然后赋值 $a_i:=b_{i+1}$,或者 $b_i:=a_{i+1}$。 在进行这些操作之前,你可以选择一个下标 $i$($1 \le i \le n$),然后将 $a_i$ 和 $b_i$ 从两个数组中删去。这个删除操作至多可以进行一次。 我们称两个长度为 $m$ 的数组 $c$ 和 $d$ 之间的匹配数量为满足 $c_j=d_j$ 的下标 $j$($1 \le j \le m$)的数量。 你的任务是计算通过上述操作可以得到的 $a$ 和 $b$ 的最大匹配数量。

输入格式

输入数据包含多个测试用例。输入数据的第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的个数。 对于每个测试用例: - 第一行包含一个整数 $n$($2 \le n \le 2 \cdot 10^5$),表示数组 $a$ 和 $b$ 的长度。 - 第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \le a_i \le n$),表示 $a$ 中的元素。 - 第三行包含 $n$ 个整数 $b_1, b_2, \dots, b_n$($1 \le b_i \le n$),表示 $b$ 中的元素。 输入数据保证所有测试用例的 $n$ 之和不超过 $2 \cdot 10^5$。

输出格式

对于每个测试用例,输出一行一个整数,表示当前测试用例的答案。

说明/提示

对于第一个测试用例,我们可以进行如下操作: - 不进行删除操作。 - 选择下标 $3$,然后赋值 $a_3:=b_4$。数组变为 $a=[1,3,2,4]$,$b=[4,3,2,2]$。 - 选择下标 $1$,然后赋值 $a_1:=b_2$。数组变为 $a=[3,3,2,4]$,$b=[4,3,2,2]$。 - 选择下标 $1$,然后赋值 $a_2:=b_1$。数组变为 $a=[3,3,2,4]$,$b=[3,3,2,2]$。 匹配数量为 $3$。可以证明这是我们可以得到匹配数量的最大值。 对于第二个测试用例,我们可以进行如下操作: - 删去下标 $5$ 对应的元素。数组变为 $a=[2,1,5,3,4]$,$b=[3,2,4,5,6]$。 - 选择下标 $4$,然后赋值 $b_4:=a_5$。数组变为 $a=[2,1,5,3,4]$,$b=[3,2,4,4,6]$。 - 选择下标 $3$,然后赋值 $a_3:=b_4$。数组变为 $a=[2,1,4,3,4]$,$b=[3,2,4,4,6]$。 - 选择下标 $2$,然后赋值 $a_2:=b_3$。数组变为 $a=[2,4,4,3,4]$,$b=[3,2,4,4,6]$。 - 选择下标 $1$,然后赋值 $b_1:=a_2$。数组变为 $a=[2,4,4,3,4]$,$b=[4,2,4,4,6]$。 - 选择下标 $2$,然后赋值 $b_2:=a_3$。数组变为 $a=[2,4,4,3,4]$,$b=[4,4,4,4,6]$。 - 选择下标 $1$,然后赋值 $a_1:=b_2$。数组变为 $a=[4,4,4,3,4]$,$b=[4,4,4,4,6]$。 对于第三个测试用例,可以证明我们无法得到任何匹配,因此答案为 $0$。