题目描述
给你两个长度为 n 的序列 num1 和 num2,两者都是 [0, 1, ..., n−1] 的排列。
好三元组指的是 3 个 互不相同 的值,且它们在数组 nums1 和 nums2 中出现顺序保持一致。换句话说,如果我们将 pos1v 记为值 v 在 nums1 中出现的位置,pos2v 为值 v 在 nums2 中的位置,那么一个好三元组定义为 0<=x,y,z<=n−1 ,且 pos1x<pos1y<pos1z 和 pos2x<pos2y<pos2z 都成立的 (x, y, z) 。
请你输出好三元组的总数目。
输入格式
第一行输入一个整数 n。
第二行和第三行分别输入 n 个数,表示长度为 n 的排列。
1leqnleq106
输出格式
输出一个整数,表示好三元组的总数目。
样例
4
2 0 1 3
0 1 2 3
1
5
4 0 1 3 2
4 1 0 2 3
4
提示
第一组样例,总共有 4 个三元组 ( x , y , z ) 满足 pos1x<pos1y<pos1z ,分别是 ( 2 , 0 , 1) ,( 2 , 0 , 3 ) ,( 2 , 1 , 3 ) 和 ( 0 , 1 , 3 ) 。这些三元组中,只有 ( 0 , 1 , 3) 满足 pos2x<pos2y<pos2z 。所以只有 1 个好三元组。
by 励翔 2022春第三次排位赛