先把排列 a 中每个数所在的位置求出来,记为 pos[x],表示数字 x 在 a 里的下标。
然后按顺序遍历排列 b,把它转换成位置序列:
pi=pos[bi]给定两个长度为 n 的排列 {a1,a2,...,an} 与 {b1,b2,...,bn}。你可以进行如下操作一次:
你希望数组 c 中存在至少一个子序列,其按顺序拼接后与排列 b 完全相同。请计算满足该条件的最小 k 。
排列:长度为 n 的排列是由 1 ~ n 这 n 个整数按任意顺序组成的数组,其中每个整数恰好出现一次。
子序列:子序列为从原序列中删除任意个(可以为零,也可以为全部)元素后,保持相对顺序得到的新序列 。
每个测试文件均包含多组测试数据。第一行输入一个整数 T(1≤T≤104) 代表数据组数,每组测试数据描述如下:
第一行输入一个整数 n(1≤n≤2×105) 表示排列长度;
第二行输入 n 个整数 a1,a2,...,an(1≤ai≤n) 表示排列 a ;
第二行输入 n 个整数 b1,b2,...,bn(1≤bi≤n) 表示排列 b 。
除此之外,保证单个测试文件的 n 之和不超过 2×105 。
对于每一组测试数据,新起一行。
输入
2
5
2 3 1 5 4
3 5 4 2 1
4
1 2 3 4
4 3 2 1
输出
2
4