QOJ.ac

QOJ

时间限制: 6.0 s 内存限制: 256 MB 总分: 100 可 Hack ✓

#15602. 百变怪钢琴

统计

Busy Beaver 是 Sheet Music Boss 的忠实粉丝,梦想着在钢琴上演奏冗长而复杂的乐曲。然而,他只有可怜的 10 根手指,能做的事情非常有限。幸运的是,他的朋友 Ditto 的手上可以长出任意数量的手指,这让他们能够演奏任何想象得到的乐曲。

Ditto 正尝试演奏一首由 $N$ 个音符组成的乐曲,音符编号为 $1$ 到 $N$。为了演奏第 $i$ 个音符,Ditto 必须在时间 $a_i$ 按下琴键 $k_i$,并在时间 $b_i$ 松开。保证不会在同一时间演奏两个使用相同琴键的音符。换句话说,对于所有满足 $k_i = k_j$ 的音符对 $(i, j)$,要么 $b_i \le a_j$,要么 $b_j \le a_i$。

Ditto 计划使用一只拥有 $F$ 根手指的手来演奏这首乐曲,手指从左到右依次编号为 $1$ 到 $F$。他们希望将手指 $f_i$ 分配给第 $i$ 个音符。如果 Ditto 能够为每个音符分配一根手指并满足以下标准,他们就可以演奏这首乐曲:

  • 在任何时间点,他们的手指都不会交叉。形式化地,对于所有存在时间 $t$ 满足 $a_i < t < b_i$ 且 $a_j < t < b_j$ 的音符对 $(i, j)$,如果 $k_i < k_j$,则 $f_i < f_j$。

Ditto 被允许从乐曲中删除最多 $M$ 个音符,其中 $M$ 为 $0$ 或 $1$。求他们手上需要的最少手指数量,以便能够演奏剩余的乐曲。换句话说,求最小的 $F$,使得存在一个满足上述标准的手指分配方案 $f$。

输入格式

每个测试点包含多个测试用例。第一行包含测试用例的数量 $T$ ($1 \le T \le 10^4$)。接下来是测试用例的描述。

每个测试用例的第一行包含两个整数 $N$ 和 $M$ ($1 \le N \le 2 \cdot 10^5$,$M = 0$ 或 $1$)。

接下来的 $N$ 行中,第 $i$ 行包含三个整数 $k_i$、$a_i$ 和 $b_i$ ($1 \le k_i \le 10^9$,$1 \le a_i < b_i \le 10^9$) —— 表示第 $i$ 个音符在时间 $a_i$ 到 $b_i$ 期间使用琴键 $k_i$。

保证不会在同一时间演奏两个使用相同琴键的音符,且所有测试用例中 $N$ 的总和不超过 $2 \cdot 10^5$。

输出格式

对于每个测试用例,输出 Ditto 手上需要的最少手指数量,使得在删除最多 $M$ 个音符后,存在一个满足要求的手指分配方案。

子任务

本题共有三个子任务。

  • (10 分):所有测试用例中 $N$ 的总和不超过 $10^3$ 且 $M = 0$。
  • (20 分):$M = 0$。
  • (70 分):无附加限制。

样例

输入样例 1

5
5 0
3 3 6
5 2 5
6 5 6
1 1 4
1 5 7
5 1
2 1 6
10 1 6
4 5 9
8 5 9
6 8 10
4 1
1 1 2
2 1 2
1 3 4
2 3 4
1 0
6 2 5
1 1
6 2 5

输出样例 1

3
3
2
1
0

说明

第一个测试用例的音符如下图所示。x 轴表示按下的琴键,y 轴表示按下音符的时间区间。所需的最少手指数量为 3 —— 每个音符上都标有实现此目的的手指编号。

第二个测试用例的音符如下图所示。删除黄色或蓝色的音符都可以使 3 根手指足够,且这是最优的。

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.