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 翻译