Description
给出两个 1∼n 的排列 A1,A2,…,An 与 B1,B2,…,Bn。你的任务是将 A 排列变成 B 排列。你可以将第一个排列切成 k 段,并将这 k 段按照任意顺序拼起来,从而得到一个新的排列。
求出 k 最小可以是多少。
注:1∼n 的排列是指每个数都恰好出现一次的序列,例如 [1,5,3,4,2] 是 1∼5 的一个排列,而 [1,2,2],[3,4,1] 都不是排列。
第一行一个正整数 T (1≤T≤104),表示数据组数。
对于每一组数据,第一行一个正整数 n (1≤n≤5⋅105),表示排列长度。第二行输入 A1,A2,…,An。第三行输入 B1,B2,…,Bn。数据保证 A1,A2,…,An 与 B1,B2,…,Bn 都是 1∼n 的一个排列。
对于单个测试点,∑n≤5⋅105。
Output
对于每一组数据,输出一行一个正整数,表示最少需要划分的段数。
Samples
3
5
3 4 2 1 5
5 1 4 2 3
1
1
1
10
8 10 5 3 4 1 7 9 2 6
7 9 1 2 6 5 8 10 3 4
4
1
6
Resources
The 23rd UESTC Programming Contest Final