4198 - 全排列

题目描述

给定一个正整数 N,考虑由集合 {1, 2, \dots, N} 中所有元素构成的全排列集合 S

集合 S 中的共有 N! 个不同的排列结果。若将 S 中的所有排列依照字典序从小到大进行严格全序排列,则每一个排列均对应一个唯一的位次编号(从 1 开始计,所有的排列的编号从 1N!)。

现给出该集合中的两个特定排列序列 AB。设序列 A 在所有排列中的字典序位次为 x,序列 B 在所有排列中的字典序位次为 y

请编写程序计算这两个位次编号的绝对偏差值,即 |x - y|

注:字典序定义

对于长度相同的两个序列 XY,若存在下标 k,使得对于所有 i < k 均有 X_i = Y_i,且满足 X_k < Y_k,则称序列 X 的字典序小于序列 Y

输入

第一行包含一个正整数 N,表示排列序列的长度。

第二行包含 N 个以空格分隔的正整数 A_1, A_2, \dots, A_N,表示排列序列 A

第三行包含 N 个以空格分隔的正整数 B_1, B_2, \dots, B_N,表示排列序列 B

输出

输出一个整数,表示两个排列在字典序下的位次编号之差的绝对值。

样例

输入

3
1 3 2
3 1 2

输出

3

输入

8
7 3 5 4 2 1 6 8
3 8 2 5 4 6 7 1

输出

17517

输入

3
1 2 3
1 2 3

输出

0
说明

样例 1 说明

N=3 时,全排列集合按字典序升序排列如下:

  1. (1, 2, 3)
  2. (1, 3, 2) —— 此为序列 A,位次 x = 2
  3. (2, 1, 3)
  4. (2, 3, 1)
  5. (3, 1, 2) —— 此为序列 B,位次 y = 5
  6. (3, 2, 1)

绝对偏差为 |2 - 5| = 3

数据范围

测试点编号N特殊性质
1 \sim 102 \le N \le 8
11N=10特殊性质 A
12N=12特殊性质 B
13N=20特殊性质 C
14 \sim 20N \le 20

特殊性质 A:序列 A 满足所有数递增,序列 B 满足所有数递减。

特殊性质 B:序列 A 和序列 B 是两个完全相同的排列。

特殊性质 C:保证 A 与 B 在字典序中的相邻排列。

对于 100\% 的数据,满足 2 \le N \le 20,保证输入序列 AB 均为集合 {1, 2, \dots, N} 的合法全排列。

标签
题目参数
时间限制 1 秒
内存限制 512 MB
提交次数 0
通过人数 0
金币数量 4 枚
难度 基础


上一题 下一题