AT_abc468_c [ABC468C] Between P and Q
题目描述
给定一个整数 $N$ 和两个整数序列 $P=(P_1,P_2,\ldots, P_N)$ 以及 $Q=(Q_1,Q_2,\ldots, Q_N)$,每个序列都是 $1,2,\ldots,N$ 的一个排列。
请你求出有多少个整数序列,满足该序列是 $1,2,\ldots,N$ 的一个排列,并且在字典序上大于 $P$ 且小于 $Q$。
什么是整数序列的字典序?对于两个整数序列 $S=(S_1,S_2,\ldots,S_{|S|})$ 和 $T=(T_1,T_2,\ldots,T_{|T|})$,若满足下列 1 或 2 的条件之一,则称 $S$ **字典序小于** $T$。其中,$|S|, |T|$ 表示 $S,T$ 的长度。
1. $|S| < |T|$ 且 $(S_1,S_2,\ldots,S_{|S|}) = (T_1,T_2,\ldots,T_{|S|})$。
2. 存在整数 $1 \leq i \leq \min\lbrace |S|, |T| \rbrace$ 使得以下两个条件同时成立:
- $(S_1,S_2,\ldots,S_{i-1}) = (T_1,T_2,\ldots,T_{i-1})$。
- $S_i$ 在数值上小于 $T_i$。
输入格式
输入从标准输入读入,格式如下:
> $N$ $P_1$ $P_2$ $\ldots$ $P_N$ $Q_1$ $Q_2$ $\ldots$ $Q_N$
输出格式
输出满足条件的序列个数。
说明/提示
### 样例解释 1
有两个序列 $(2,1,3),(2,3,1)$ 满足条件,因此输出 $2$。
### 样例解释 2
不存在满足条件的排列,因此输出 $0$。
### 约束条件
- $1 \leq N \leq 10$
- $P$ 和 $Q$ 都是 $1,2,\ldots,N$ 的一个排列。
- 所有输入的值都是整数。
由 ChatGPT 5 翻译