题目要我们求两个排列的本质不同的子排列(连续的)。
直接计算不好做,正难则反。先求所有可能。然后减去重复的就行。
长度为x的所有子排列个数为x∗(x+1)/2,两个排列一共是x∗(x+1)
接下来的问题就是如何找出两个排列中重复的排列。
小红有两个长度长度为n的排列,并且想用计算机给他们存起来。
但小红的计算机存储算法很神奇,它只会存储排列的子排列,并且不会存储重复的排列。
他想知道,存储这两个排列需要多少次?
注:排列,指由1~n组成的长度为n的序列,且每个数字仅出现一次。
第一行输入一个正整数n,代表排列的长度。 第二行输入n个正整数ai,代表第一个排列。 第三行输入n个正整数bi,代表第二个排列。 1≤n≤2×105
计算机存储的次数。
输入
3
1 2 3
3 2 1
输出
9
说明
第一个排列的子排列有:1、2、3、12、23、123
第二个排列的子排列有:3、2、1、32、21、321
总共存储9次。