#P16892. [GKS 2022 #F] Scheduling a Meeting

    ID: 19220 远端评测题 5000ms 1024MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>树状数组2022扫描线Google Kick Start

[GKS 2022 #F] Scheduling a Meeting

题目描述

在 Google 安排会议并非易事。即使有了 Google 日历的帮助,Ada 也遇到了很多困难!

Ada 是 Google 的一名软件工程师,她需要为自己的新项目获得批准。为了获得批准,她需要与 NN 位技术主管中的至少 KK 位会面。

Ada 可以访问所有 NN 位技术主管的日历。对于每位技术主管,她可以看到他们所有已安排的会议。本题中的时间线可以看作 DD 个连续的小时,所有会议都在 [0,D][0, D] 小时范围内,两端均为整数。已安排的会议(即使是同一个人的)可以重叠(在 Google 这点是出了名的!)。

Ada 需要安排一个长度为 XX 小时的会议,会议时间在 [0,D][0, D] 小时区间内,两端也均为整数。至少要有 KK 位技术主管全程出席该会议,即他们的日历在整个会议持续时间内必须完全空闲。

不幸的是,可能已经无法找到这样的 XX 小时会议时间段。在这种情况下,Ada 需要说服一些技术主管取消他们现有的会议。

为了能让 Ada 与至少 KK 位技术主管会面,需要取消的最少已安排会议数量是多少?

输入格式

输入的第一行给出测试用例的数量 TT。接下来有 TT 个测试用例。

每个测试用例的第一行包含 44 个整数 NNKKXXDDNN 表示技术主管的数量,KK 是 Ada 需要会面的最少技术主管人数,XX 是需要安排的会议时长,DD 是时间线 [0,D][0, D] 小时区间的上界 —— 没有会议可以在 DD 之后结束。

每个测试用例的第二行包含一个整数 MM,表示已安排会议的数量。

接下来 MM 行,其中第 ii 行包含 33 个整数 PiP_iLiL_iRiR_i。这些数字表示技术主管 PiP_i 有一个安排在小时 LiL_iRiR_i 之间的会议,不包含端点(即该会议可以看作一个开区间 (Li,Ri)(L_i, R_i))。

注意,测试用例中的所有 MM 个会议是相互独立的,即使其中一些会议的开始和结束时间相同。

输出格式

对于每个测试用例,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 11 开始),yy 是为了能让 Ada 安排一个 XX 小时的会议并与至少 KK 位技术主管会面所需取消的最少已安排会议数量。

关于时间格式的说明

本题的时间线可以看作一个 [0,D][0, D] 区间 —— 即 DD 个连续的小时,其中 DD 可能大于 2424

一个在区间 (L,R)(L, R) 内的会议表示会议在第 LL 小时开始时开始,在第 RR 小时开始时结束,覆盖了中间整个连续时间段(即区间是连续的)。开区间 (L,R)(L, R) 不包含端点。对于参加 Ada 安排会议的技术主管,Ada 的新会议可以与他们其他未取消的会议相邻 —— 即可以在另一个会议结束时恰好开始,或在另一个会议开始时恰好结束,或两者兼有。如果一位技术主管有任何其他未取消的会议与 Ada 的会议在任何时间点重叠,则该技术主管不能参加 Ada 的会议。

请参考样例测试用例的解释以获得更清晰的说明。

3
3 2 2 6
5
1 3 5
2 1 3
2 2 6
3 0 1
3 3 6
3 3 2 6
5
1 3 5
2 1 3
2 2 6
3 0 1
3 3 6
3 2 3 6
5
1 3 5
2 1 3
2 2 6
3 0 1
3 3 6
Case #1: 0
Case #2: 2
Case #3: 1

提示

在样例 #1 中,Ada 需要安排一个 22 小时的会议,并且至少有 22 位技术主管参加。她可以在小时 1133 之间安排这样的会议,让技术主管 #1 和 #3 参加。在这种情况下,无需取消任何现有会议。

在样例 #2 中,Ada 需要安排一个 22 小时的会议,并且所有 33 位技术主管都要参加。她可以在区间 [0,2][0, 2] 安排这样的会议,这将需要取消会议 2244。另一种选择是在区间 [1,3][1, 3] 安排会议。两种选择都需要取消 22 场会议,这是可能的最小数量。

在样例 #3 中,Ada 需要安排一个 33 小时的会议,并且至少有 22 位技术主管参加。她可以在区间 [0,3][0, 3] 安排会议,并与技术主管 #1 和 #3 会面。这将需要取消会议 44,这是此处的最优解。

限制条件

1T1001 \le T \le 100

对于所有 ii1PiN1 \le P_i \le N

对于所有 ii0Li<RiD0 \le L_i < R_i \le D

测试集 1

1XD81 \le X \le D \le 8

1KN101 \le K \le N \le 10

0M200 \le M \le 20

测试集 2

1XD1051 \le X \le D \le 10^5

1KN1051 \le K \le N \le 10^5

0M1050 \le M \le 10^5

翻译由 DeepSeek V4 Pro 完成