QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 256 MB Total points: 100

#13143. 偶数路径

Statistics

寻路是寻找两点之间路径的任务。它经常出现在许多问题中。例如,在 GPS 导航软件中,驾驶员可以查询建议路线;在机器人运动规划中,它需要找到一条有效的移动序列来完成某些任务;或者在简单的迷宫求解器中,它需要找到从一点到另一点的有效路径。本题与迷宫求解相关。

本题考虑的迷宫是一个 $N \times N$ 的整数矩阵 $A$。每个单元格的值由给定的两个包含 $N$ 个整数的数组 $R$ 和 $C$ 生成。具体来说,第 $i$ 行第 $j$ 列的单元格 $(i, j)$ 的值为 $R_i + C_j$。注意,本题中所有索引均从 $1$ 到 $N$。

迷宫中的路径定义为单元格序列 $(r_1, c_1), (r_2, c_2), \dots, (r_k, c_k)$,满足对于所有 $1 \le i < k$,都有 $|r_i - r_{i+1}| + |c_i - c_{i+1}| = 1$。换句话说,每个相邻单元格仅相差 $1$ 行或仅相差 $1$ 列。迷宫中的偶数路径定义为路径中所有单元格都包含偶数的路径。

给定一个元组 $r_a, c_a, r_b, c_b$ 作为查询,你的任务是确定是否存在从单元格 $(r_a, c_a)$ 到单元格 $(r_b, c_b)$ 的偶数路径。为简化问题,保证单元格 $(r_a, c_a)$ 和 $(r_b, c_b)$ 都包含偶数。

例如,设 $N = 5$,$R = \{6, 2, 7, 8, 3\}$,$C = \{3, 4, 8, 5, 1\}$。下图描绘了由给定数组 $R$ 和 $C$ 生成的 $5 \times 5$ 矩阵 $A$。

让我们考虑几个查询: $2, 2, 1, 3$:存在从单元格 $(2, 2)$ 到单元格 $(1, 3)$ 的偶数路径,例如 $(2, 2), (2, 3), (1, 3)$。当然,$(2, 2), (1, 2), (1, 3)$ 也是一条有效的偶数路径。 $4, 2, 4, 3$:存在从单元格 $(4, 2)$ 到单元格 $(4, 3)$ 的偶数路径,即 $(4, 2), (4, 3)$。 * $5, 1, 3, 4$:不存在从单元格 $(5, 1)$ 到单元格 $(3, 4)$ 的偶数路径。观察到 $(5, 1)$ 仅有的两个相邻单元格是 $(5, 2)$ 和 $(4, 1)$,它们都包含奇数(分别为 $7$ 和 $11$),因此,不可能存在任何从单元格 $(5, 1)$ 出发的偶数路径。

输入格式

输入的第一行包含两个整数:$N$ 和 $Q$ ($2 \le N \le 100\,000$; $1 \le Q \le 100\,000$),分别表示迷宫的大小和查询的数量。下一行包含 $N$ 个整数:$R_i$ ($0 \le R_i \le 10^6$),表示数组 $R$。下一行包含 $N$ 个整数:$C_i$ ($0 \le C_i \le 10^6$),表示数组 $C$。接下来的 $Q$ 行,每行包含四个整数:$r_a, c_a, r_b, c_b$ ($1 \le r_a, c_a, r_b, c_b \le N$),表示一个查询 $r_a, c_a, r_b, c_b$。保证 $(r_a, c_a)$ 和 $(r_b, c_b)$ 是迷宫中两个不同的单元格,且它们都包含偶数。

输出格式

对于每个查询,按照输入顺序,在一行中输出字符串 “YES”(不含引号)或 “NO”(不含引号),表示是否存在从单元格 $(r_a, c_a)$ 到单元格 $(r_b, c_b)$ 的偶数路径。

样例

样例输入 1

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

样例输出 1

YES
YES
NO

说明 1

这是题目描述中的示例。

样例输入 2

3 2
30 40 49
15 20 25
2 2 3 3
1 2 2 2

样例输出 2

NO
YES

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.