QOJ.ac

QOJ

Limite de temps : 1.0 s Limite de mémoire : 1024 MB Points totaux : 100

#10009. 睡眠的乐趣

Statistiques

在变色龙村居住着 $n$ 只变色龙,它们可以被看作位于二维平面上。第 $i$ 只变色龙位于 $(x_i, y_i)$,颜色为 $c_i$。

深夜时分,只有第一只变色龙是清醒的,而其他所有变色龙都在睡觉。

突然,第 $n$ 只变色龙有紧急情况需要被唤醒。唤醒变色龙需要物理接触。因此,要唤醒一只变色龙,另一只变色龙必须要么走到它的位置,要么伸出舌头触碰它。

变色龙可以向八个方向移动:上、下、左、右或对角线方向。具体来说,位于 $(x, y)$ 的变色龙可以在一秒钟内移动到以下位置之一:$(x-1, y-1), (x-1, y), (x-1, y+1), (x, y-1), (x, y), (x, y+1), (x+1, y-1), (x+1, y)$ 或 $(x+1, y+1)$。

此外,变色龙可以垂直或水平地伸出舌头。换句话说,位于 $(x, y)$ 的变色龙可以伸出舌头到达 $(x+c, y)$ 或 $(x, y+c)$,其中 $c$ 为任意(正或负)整数。伸出舌头不需要时间。然而,相同颜色的变色龙几乎看不见对方,这使得它们难以瞄准,因此它们不能向对方伸出舌头。

当舌头伸出时,路径上是否有其他变色龙并不重要;只有位于舌头目标位置的变色龙会被唤醒,路径上的其他变色龙不会受到干扰。变色龙也可以在不唤醒其他变色龙的情况下穿过它们的位置。

由于变色龙很困,它们在唤醒另一只变色龙后会立即在当前位置睡着。

确定唤醒第 $n$ 只变色龙所需的最少秒数。

输入格式

第一行包含两个整数:变色龙的数量 $n$ 和不同颜色的数量 $m$ ($2 \le n \le 10^5$; $1 \le m \le n$)。

接下来的 $n$ 行中,第 $i$ 行包含三个整数:第 $i$ 只变色龙的初始坐标 $x_i$ 和 $y_i$ 以及颜色 $c_i$ ($-10^9 \le x_i, y_i \le 10^9$; $1 \le c_i \le m$)。没有两只变色龙起始于同一点。每种颜色至少有一只变色龙。

输出格式

输出唤醒第 $n$ 只变色龙所需的最少时间(以秒为单位)。

样例

输入 1

7 3
-5 0 1
-3 3 2
6 10000 2
5 3 3
3 -7 3
0 3 2
7 0 1

输出 1

4

说明

以下是对样例的解释。通过以下方式,可以在 4 秒内唤醒第 7 只变色龙:

  • 第 1 只变色龙先从 $(-5, 0)$ 走到 $(-3, 0)$ 用时 2 秒,然后伸出舌头到 $(-3, 3)$ 唤醒第 2 只变色龙。
  • 第 2 只变色龙通过从 $(-3, 3)$ 伸出舌头到 $(5, 3)$ 唤醒第 4 只变色龙。第 6 只变色龙正睡在路径中间,但它没有受到干扰。
  • 第 4 只变色龙先从 $(5, 3)$ 走到 $(6, 4)$ 用时 1 秒,然后伸出舌头到 $(6, 10000)$ 唤醒第 3 只变色龙。
  • 第 3 只变色龙从 $(6, 10000)$ 走到 $(7, 9999)$ 用时 1 秒,然后伸出舌头到 $(7, 0)$ 唤醒第 7 只变色龙。

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.