P9925 [POI 2023/2024 R1] Zapobiegliwy student
题目背景
译自 [XXXI Olimpiada Informatyczna - I etap](https://sio2.mimuw.edu.pl/c/oi31-1/dashboard/) [Zapobiegliwy student](https://sio2.mimuw.edu.pl/c/oi31-1/p/zap/)。
题目描述
考虑如下的一个简单问题:
> 你有 $n$ 个线段在数轴上,你要选出尽量多的线段,使它们两两不交。
我知道你一定会做,但你需要解决这个:
你有 $n$ 个线段在数轴上,你要选出尽量多的线段对 $(u_i,v_i)_{i=1}^k$,即最大化 $k$。
满足 $k+1$ 个要求:
- $u_1,u_2,\cdots,u_k$ 两两不交。
- $v_1,u_2,u_3,\cdots,u_k$ 两两不交。
- $u_1,v_2,u_3,u_4,\cdots,u_k$ 两两不交。
- $\cdots$
- $u_1,u_2,\cdots,u_{k-1},v_k$ 两两不交。
其中 $\forall i$,$u_i$ 与 $v_i$ 不能相同。
输入格式
第一行一个正整数 $n(n\geq2)$。
接下来 $n$ 行每行两个正整数 $a_i,b_i(1\leq a_i
输出格式
第一行一个正整数 $k$。
接下来 $k$ 行,每行两个正整数 $u_i,v_i$,表示一对线段的编号。
说明/提示
如果你的第一行正确但是方案不对(可以不输出方案,此时不要有换行),你能得到 $50\%$ 的分数。
如果你的方案合法并且第一行和答案相差不超过 $1$,你能得到 $15\%$ 的分数。
| 子任务编号 | 限制 | 分值 |
| :----------: | :----------: | :----------: |
| 1 | $n\leq3000$ | 40 |
| 2 | $n\leq500000$ | 60 |