#P16725. [GKS 2019 #A] Contention

[GKS 2019 #A] Contention

题目描述

你正在销售电影院前排座位的门票。前排有 NN 个座位,从左到右编号为 11NN。你上周不在办公室,回来时发现积压了 QQ 个座位预订!第 ii 个预订请求从 LiL_iRiR_i(包含两端)的所有座位。你现在需要将这些预订逐一输入系统,这是一项枯燥的工作。

由于某些预订可能重叠,系统可能无法完全满足每个预订。当你将一个预订输入系统时,系统会分配该预订请求的、且尚未被更早输入的预订所分配的所有座位。

请问,最大的整数 kk 是多少,使得存在一种输入预订的顺序,让每个预订都被分配到至少 kk 个座位?

输入格式

输入的第一行给出测试用例的数量 TT。接下来有 TT 个测试用例。每个测试用例的第一行包含两个整数 NNQQ,分别表示座位数量和预订数量。随后有 QQ 行,其中第 ii 行包含两个整数 LiL_iRiR_i,表示第 ii 个预订希望预订从 LiL_iRiR_i(包含两端)的所有座位。

输出格式

对于每个测试用例,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 11 开始),yy 是上述最大的 kk 值。

3
5 3
1 2
3 4
2 5
30 3
10 11
10 10
11 11
10 4
1 8
4 5
3 6
2 7
Case #1: 1
Case #2: 0
Case #3: 2

提示

在样例 #1 中,有 N=5N = 5 个座位和 Q=3Q = 3 个预订。一种可能的顺序是:

  • 先输入第二个预订,系统会分配 22 个座位(3344)。
  • 再输入第一个预订,系统会分配 22 个座位(1122)。
  • 最后输入第三个预订,系统会分配 11 个座位(仅剩座位 55,因为 11223344 已被预订)。

每个预订都被分配到至少 11 个座位,且不存在一种顺序能让每个预订分配到至少 22 个座位,因此答案为 11

在样例 #2 中,有 N=30N = 30 个座位和 Q=3Q = 3 个预订。无论以何种顺序分配座位,至少有一个预订将分不到任何座位,所以答案为 00。注意,可能存在不属于任何预订的座位!

在样例 #3 中,有 N=10N = 10 个座位和 Q=4Q = 4 个预订。一种可能的顺序是:

  • 先输入第二个预订,系统会分配 22 个座位(4455)。
  • 再输入第三个预订,系统会分配 22 个座位(3366,因为 4455 已被预订)。注意,分配到的座位不一定相邻。
  • 接着输入第四个预订,系统会分配 22 个座位(2277)。
  • 最后输入第一个预订,系统会分配 22 个座位(1188)。

每个预订都被分配到至少 22 个座位,且不存在一种顺序能让每个预订分配到至少 33 个座位,因此答案为 22

注意:对于本题的大数据集,我们不建议使用解释型/较慢的语言。

限制条件

T=100T = 100

1N1061 \le N \le 10^6

1LiRiN1 \le L_i \le R_i \le N

测试集 1(可见)

1Q3001 \le Q \le 300

测试集 2(隐藏)

1Q300001 \le Q \le 30000

在至少 8585 个测试用例中,Q3000Q \le 3000

翻译由 DeepSeek V4 Pro 完成