QOJ.ac

QOJ

حد الوقت: 2 s حد الذاكرة: 2048 MB مجموع النقاط: 100

#8594. 田野

الإحصائيات

蜗牛 Stuart 生活在一片田野上。这片田野可以描述为一个无限平面(二维空间)。田野上每一个坐标为整数的点都长有可食用的植物。Stuart 的家位于原点。

由于正在下雨,Stuart 可以轻松地四处移动。在一小时内,他可以选择当前位置相邻的四个可食用植物中的一个,移动到那里并吃点零食。形式化地说,如果他位于坐标 $(x, y)$,他可以移动到 $(x + 1, y)$、$(x, y + 1)$、$(x - 1, y)$ 或 $(x, y - 1)$。只要还在下雨,他就可以继续他的旅程,但也可以随时选择在任何长有可食用植物的位置停下来,包括直接待在家里。

然而,已知田野上有 $n$ 个深水坑。每个水坑覆盖一个矩形区域,且太深了,Stuart 无法安全通过。水坑 $i$ 阻止 Stuart 进入任何满足 $a[i] \le x \le b[i]$ 且 $c[i] \le y \le d[i]$ 的整数坐标 $(x, y)$。水坑可能会重叠。

目前尚不清楚雨会持续多久。请回答 $q$ 个由 $t$ 定义的同类型查询。

  • 如果 $t = 1$,Stuart 想要访问坐标为 $(x[j], y[j])$ 的植物。假设雨永远不会停,求他到达 $(x[j], y[j])$ 所需的最短时间(以小时为单位)。如果他无法到达目的地,则输出 $-1$。
  • 如果 $t = 2$,假设雨将持续 $m[j]$ 小时。计算 Stuart 在最多 $m[j]$ 小时后可以结束旅程的不同位置的数量。

输入格式

程序必须从标准输入读取数据。

第一行包含三个整数 $n$、$t$ 和 $q$,分别表示水坑的数量、查询类型和查询次数。

接下来的 $n$ 行,每行包含四个整数 $a[i]$、$b[i]$、$c[i]$ 和 $d[i]$,描述一个水坑。

如果 $t = 1$,接下来的 $q$ 行,每行包含两个整数 $x[j]$ 和 $y[j]$,描述一个目的地。

否则,如果 $t = 2$,接下来的 $q$ 行,每行包含一个整数 $m[j]$,描述一次查询中雨持续的时间。

输出格式

程序必须输出到标准输出。

对于每个查询,在单独的一行上输出一个整数作为答案。

子任务

对于所有测试用例,输入满足以下范围:

  • $1 \le n \le 400$
  • $1 \le t \le 2$
  • $1 \le q \le 200\,000$
  • $-10^9 \le a[i] \le b[i] \le 10^9$
  • $-10^9 \le c[i] \le d[i] \le 10^9$
  • $(0, 0)$ 不被任何水坑覆盖。
  • 如果 $t = 1$,则 $-10^9 \le x[j], y[j] \le 10^9$
  • 如果 $t = 2$,则 $1 \le m[j] \le 10^9$

你的程序将在满足以下限制的输入实例上进行测试:

子任务 分值 查询类型 $t$ 附加限制
0 0 样例测试用例
1 5 $t = 1$ $n \le 100$, $-400 \le a[i] \le b[i] \le 400$, $-400 \le c[i] \le d[i] \le 400$, $-400 \le x[j], y[j] \le 400$
2 17 $t = 1$ $n \le 100$, $a[i] \equiv c[i] \equiv 0 \pmod{10^7}$, $b[i] \equiv d[i] \equiv -1 \pmod{10^7}$
3 8 $t = 1$ $n \le 100$
4 8 $t = 2$ $n \le 100, q \le 400$, $-400 \le a[i] \le b[i] \le 400$, $-400 \le c[i] \le d[i] \le 400$, $m[j] \le 400$
5 21 $t = 2$ $n \le 100, q \le 400$, $a[i] \equiv c[i] \equiv 0 \pmod{10^7}$, $b[i] \equiv d[i] \equiv -1 \pmod{10^7}$
6 10 $t = 2$ $n \le 100, q \le 400$
7 13 $t = 2$ $n \le 100, q \le 5000$
8 14 $t = 2$ $n \le 100$
9 4 $t = 2$ 无附加限制

样例

样例输入 1

5 1 4
-4 -3 -2 5
-6 4 4 4
1 2 0 6
4 4 -1 4
-2 6 -4 -2
-1 2
3 3
0 6
2 -3

样例输出 1

3
8
-1
-1

说明 1

下图描述了原点周围的区域。蓝色矩形代表无法进入或通过的水坑。

如果不进入水坑,则无法到达最后两个目的地。注意,最后一个目的地被一个水坑覆盖。

样例输入 2

2 1 4
-1000000000 -1 0 999999999
0 999999999 -1000000000 -1
1 1
-1 1
-1 -1
1 -1

样例输出 2

2
-1
4000000002
-1

样例输入 3

2 2 6
-2 5 1 1
0 1 -3 -2
1
2
3
4
5
6

样例输出 3

4
8
13
21
32
48

样例输入 4

2 2 4
0 9999999 -10000000 -1
-10000000 -1 10000000 29999999
12
1234
123456
12345678

样例输出 4

235
2285986
22862261089
231374765559370

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.