CF2261D1 Come Be My Friend, Don't Be So Scared (Easy Version)
题目描述
这是该问题的简单版本。不同之处在于本版本中 $m = 0$。只有当你解决了所有版本的问题后,你才能进行 Hack。
你正在躲避强大的 Lord Verity。
有 $n$ 个可能的藏身之处,这些位置排成一排,从左到右编号为 $1$ 到 $n$。你必须藏在恰好一个位置。
为了找到你,Lord Verity 可以安装特殊的探测器。每个探测器覆盖一段连续的位置,并报告你是否藏在该区域内。所有探测器会同时开启,也就是说,所有探测器的区间都必须事先选择好,不能根据此前的探测结果动态选择。
Lord Verity 已经有 $m$ 个探测器,第 $i$ 个探测器覆盖从 $l_i$ 到 $r_i$ 的位置。你需要求出,Lord Verity 至少还需要再安装多少个探测器,使得无论你藏在哪里,所有探测器的所有报告都能唯一确定你藏在哪个位置。同时,你还需要给出一种安装这些探测器的方案。
输入格式
每组测试数据包含多组测试用例。第一行为测试用例个数 $t$($1 \le t \le 10^4$)。每组测试用例描述如下。
每组测试用例第一行包含两个整数 $n$ 和 $m$($1 \le n \le 2 \cdot 10^5$,$m=0$),分别表示藏身位置的数量和 Lord Verity 已有的探测器数量。
接下来的 $m$ 行中,每行有两个整数 $l_i$ 和 $r_i$($1 \le l_i \le r_i \le n$),表示第 $i$ 个探测器覆盖区间 $[l_i, r_i]$。
保证不会有两个探测器覆盖完全相同的区间。
保证所有测试用例中 $n$ 的总和不超过 $2\cdot10^5$。
输出格式
对于每组测试用例,首先输出一个整数 $k$,表示 Lord Verity 至少还需要安装的探测器数量。
接下来输出 $k$ 行,每行两个整数 $u_j$ 和 $v_j$($1 \le u_j \le v_j \le n$),表示第 $j$ 个新安装的探测器覆盖区间 $[u_j, v_j]$。
如果存在多组解,只需输出任意一组即可。
说明/提示
在第一个测试用例中,只有一个藏身之处,因此 Lord Verity 必然知道你藏在哪里,不需要任何探测器。
在第二个测试用例中,有两个藏身之处。Lord Verity 可安装一个覆盖 $u = v = 1$ 的探测器,用于判断你是否藏在第 $1$ 个位置。由此可唯一确定你藏在第 $1$ 个还是第 $2$ 个位置。
由 ChatGPT 5 翻译