P13873 [蓝桥杯 2024 省 Java/Python A] 智力测试

题目描述

小蓝考上了世界上最好的魔法师学校,然而入学第一件事就是智力测试,老师给出了一个 $n \times m$ 大小的棋盘,同时对每行每列设置了权重 $\{R_1, R_2, \cdots, R_n\}$ 和 $\{C_1, C_2, \cdots, C_m\}$,因此,对于第 $r$ 行第 $c$ 列的格子 $(r, c)$,其权重为一个二元组 $(R_r, C_c)$。 小蓝可以在格子之间进行移动,若某时刻小蓝在格子 $(r, c)$,那么他可以一步走到任意的格子 $(r', c)$ 或 $(r, c')$,其中 $r', c'$ 满足: (1)$R_{r'} > R_r, C_{c'} > C_c$, (2)$\nexists r''. R_{r'} > R_{r''} > R_r; \nexists c''. C_{c'} > C_{c''} > C_r$。 之后,老师提出了 $T$ 个问题,第 $i$ 个问题为:假设小蓝从格子 $(s_r^i, s_c^i)$ 出发,移动到格子 $(t_r^i, t_c^i)$ 有多少种不同的走法,答案对 $1000000007$ 取模。

输入格式

输入的第一行包含三个正整数 $n, m, T$,相邻整数之间使用一个空格分隔。 第二行包含 $n$ 个正整数 $R_1, R_2, \cdots, R_n$,相邻整数之间使用一个空格分隔。 第三行包含 $m$ 个正整数 $C_1, C_2, \cdots, C_m$,相邻整数之间使用一个空格分隔。 接下来 $T$ 行,第 $i$ 行包含四个正整数 $s_r^i, s_c^i, t_r^i, t_c^i$,相邻整数之间使用一个空格分隔。

输出格式

输出 $T$ 行,每行包含一个整数,依次表示每个问题的答案。

说明/提示

**【样例说明】** 询问 1: - $(4, 4) \rightarrow (2, 4) \rightarrow (3, 4) \rightarrow (1, 4) \rightarrow (1, 1)$; - $(4, 4) \rightarrow (2, 4) \rightarrow (3, 4) \rightarrow (3, 1) \rightarrow (1, 1)$; - $(4, 4) \rightarrow (2, 4) \rightarrow (2, 1) \rightarrow (3, 1) \rightarrow (1, 1)$; - $(4, 4) \rightarrow (4, 1) \rightarrow (2, 1) \rightarrow (3, 1) \rightarrow (1, 1)$。 询问 2: - 不存在方案可以从 $(2, 2)$ 走到 $(2, 4)$。 **【评测用例规模与约定】** 对于 $20\%$ 的评测用例,$1 \leq n, m, T \leq 10^3$; 对于所有评测用例,$1 \leq n, m, T \leq 10^5$,$1 \leq R_i, C_i \leq 10^8$,$1 \leq s_r^i, t_r^i \leq n$,$1 \leq s_c^i, t_c^i \leq m$。