AT_abc238_f [ABC238F] Two Exams

题目描述

在高桥王国,有 $N$ 位编号为 $1$ 到 $N$ 的国民参加了竞赛编程考试。 考试分为两轮,第 $i$ 个人在第一轮考试中获得了第 $P_i$ 名,在第二轮考试中获得了第 $Q_i$ 名。 此外,在每一轮考试中,没有多人获得相同的名次。也就是说,表示名次的数列 $P,Q$ 都是 $1$ 到 $N$ 的一个排列。 高桥王国的总统いろは酱需要根据这次考试的结果,从 $N$ 个人中选出 $K$ 人作为代表,参加竞赛编程的世界大会。 在选拔代表时,必须满足以下条件: - 不存在一对 $(x, y)$,其中 $x$ 是代表,$y$ 不是代表,且 $P_x > P_y$ 且 $Q_x > Q_y$。 - 换句话说,不能出现这样一种情况:在两轮考试中,$y$ 的名次都比 $x$ 更靠前,但 $x$ 被选为代表而 $y$ 没有被选为代表。 いろは酱想知道,满足上述条件的代表选法有多少种。 由于答案可能非常大,请输出答案对 $998244353$ 取模后的结果。

输入格式

输入按以下格式从标准输入读入。 > $N$ $K$ $P_1$ $P_2$ $\dots$ $P_N$ $Q_1$ $Q_2$ $\dots$ $Q_N$

输出格式

请输出一个整数,表示满足条件的代表选法数量。

说明/提示

### 限制条件 - 所有输入均为整数。 - $1 \leq N \leq 300$ - $1 \leq K \leq N$ - $P,Q$ 都是 $1$ 到 $N$ 的一个排列。 ### 样例解释 1 - 选择第 $1$ 个人和第 $2$ 个人作为代表是没有问题的。 - 选择第 $1$ 个人和第 $3$ 个人作为代表时,由于第 $4$ 个人在两轮考试中的名次都比第 $3$ 个人更靠前,因此对于 $(x, y) = (3, 4)$,违反了题目中的条件。 - 选择第 $1$ 个人和第 $4$ 个人作为代表是没有问题的。 - 选择第 $2$ 个人和第 $3$ 个人作为代表时,对于 $(x, y) = (3, 1)$,违反了题目中的条件。 - 选择第 $2$ 个人和第 $4$ 个人作为代表是没有问题的。 - 选择第 $3$ 个人和第 $4$ 个人作为代表时,对于 $(x, y) = (3, 1)$,违反了题目中的条件。 最终,满足条件的选法共有 $3$ 种。 ### 样例解释 2 从 $33$ 个人中选出 $16$ 个人的方案数为 $\binom{33}{16} = 1166803110$,所有方案都满足题目中的条件。因此,输出 $1166803110$ 对 $998244353$ 取模后的结果 $168558757$。 由 ChatGPT 4.1 翻译