P12502 「ROI 2025 Day1」天狼星的换班
题目描述
**译自 [ROI 2025](https://neerc.ifmo.ru/school/archive/2024-2025.html) Day1 T2.** ***[Пересменка в Сириусе](https://neerc.ifmo.ru/school/archive/2024-2025/ru-olymp-roi-2025-day1.pdf)***
你有没有好奇过,为什么天狼星教育中心的两期项目之间总会隔上几天?答案很简单:员工们需要在这段时间里把宿舍楼的房间整理一新,为下一期项目做准备!
天狼星酒店的某层楼有 $n$ 个房间,编号从 $1$ 到 $n$。每次教育项目结束后,这些房间都需要进行维修。
为此,中心雇佣了 $k$ 名员工,编号从 $1$ 到 $k$。每位员工负责一段房间范围,从 $l_i$ 到 $r_i$(包含两端),并且每人有一个固定的起点房间 $m_i$,他们必须从这个房间开始检查和维修。不同员工的负责范围可能会有重叠,甚至完全相同。
员工们会按照某种顺序从基地出发去维修房间。每次只有前一位员工返回基地后,下一位员工才会出发。
当第 $i$ 位员工出发时,他会先前往起点房间 $m_i$:
- 如果这个房间仍需维修,员工会修好它,然后继续检查并维修他负责范围 $l_i$ 到 $r_i$ 内所有仍需维修的房间。完成后,他返回基地。此时,他负责的整个范围内的房间都不再需要维修。
- 如果起点房间 $m_i$ 已经被其他先出发的员工修好,员工会直接返回基地,寄希望于同事们已经顺便修好了他负责范围内的其他房间。但实际上,他负责范围内可能仍有房间需要维修。
你的任务是判断,是否能通过合理安排员工的出发顺序,让所有 $1$ 到 $n$ 的房间最终都被修好。
输入格式
输入包含多组数据。第一行是一个整数 $t$ $(1 \leq t \leq 10^5)$,表示数据组数。接着是每组数据的描述。
每组数据的第一行包含两个整数 $n$ 和 $k$ $(1 \leq n, k \leq 5 \cdot 10^5)$,分别表示房间数量和员工数量。
接下来的 $k$ 行,每行包含三个整数 $l_i,m_i,r_i$ $(1 \leq l_i \leq m_i \leq r_i \leq n)$,分别表示第 $i$ 位员工负责范围的起点房间、必须开始检查的起点房间,以及范围的终点房间。
保证所有数据组的 $n$ 和 $k$ 之和均不超过 $5 \cdot 10^5$。
输出格式
对每组数据,输出单独的一行。如果可以修好所有房间,输出 `YES`;否则输出 `NO`。
说明/提示
### 样例解释
在第一组数据中,先派第 $2$ 位员工出发,他会修好房间 $1$ 到 $3$。然后派第 $1$ 位员工出发,他前往房间 $4$,发现它仍需维修,于是修好他负责范围内剩余的房间。最终,所有房间都被修好。
在第二组数据中,无法找到一个合适的员工出发顺序来修好所有房间。
### 数据范围
记 $N$ 为所有数据组的 $n$ 之和,$K$ 为所有数据组的 $k$ 之和。
详细子任务附加限制及分值如下表所示。其中子任务 $0$ 是样例。
| 子任务 | 分值 | 附加限制 |
| :-: | :-: | :-: |
| $1$ | $5$ | $K \leq 10\,000$,$m_i = l_i$ | |
| $2$ | $5$ | $N \leq 500$,$k \leq 8$ |
| $3$ | $2$ | $n \leq 18$,$K \leq 500$ |
| $4$ | $12$ | $n \leq 50$,$K \leq 50$ |
| $5$ | $9$ | $n \leq 150$,$K \leq 150$ |
| $6$ | $8$ | $N \leq 500$,$K \leq 500$ |
| $7$ | $6$ | $K \leq 10\,000$,每个员工负责的范围包含房间 $1$ 或 $n$ | |
| $8$ | $18$ | $K \leq 10\,000$,每个员工负责的范围内至少有一个房间只由他负责 | |
| $9$ | $3$ | 每个员工负责的范围内至少有一个房间只由他负责 | $8$ |
| $10$ | $4$ | $K \leq 10\,000$,任意 $i, j$,$r_i - l_i = r_j - l_j$ | |
| $11$ | $4$ | $K \leq 10\,000$,任意 $m_i$ 等于 $l_i$ 或 $r_i$ | $1$ |
| $12$ | $4$ | $n \leq 10\,000$,$K \leq 10\,000$ | $0,2-6$ |
| $13$ | $6$ | $K \leq 10\,000$ | $0,1-8,10-12$ |
| $14$ | $14$ | 无附加限制 | $0,1-13$ |