U510061 最长不降的Flappy Bird

题目背景

大家应该都玩过一款叫做Flappy Bird的游戏吧,对,就是那个点击一下屏幕小鸟往上飞一点的通过障碍的游戏。

题目描述

现在,yduck想玩这个游戏,但是因为他玩这个游戏玩得太好了,被人嫉妒,有人在他的手机上针对Flappy Bird这个游戏装了一个病毒。这个病毒使得他操控的小鸟只能上升,不能下降。 不过这点小事当然难不倒yduck,但是他决定将计就计,玩一些更好玩的。他针对这个游戏又写了一个程序,可以提前获知下一关的障碍个数 $n$ 和第 $i$ 个障碍的具体情况,并且可以在中途任意闪现至前方某个纵坐标大于等于当前位置的地方。(闪现的起点和终点间的障碍不算是通过的)。现在,他想请你帮他完善这个程序,判断他在这些条件下最多可以通过多少个障碍。第 $i$ 个障碍,它的可通行区间为 $[l_i, r_i]$。最开始你可以任意选择小鸟出现的位置。 形式化地,给定 $n$ 个区间,第 $i$ 个区间为 $[l_i, r_i]$,求出一个不下降序列 $a_1,a_2,...,a_m(m\le n)$,使得存在 $1\le p_1 < p_2 < ... < p_m\le n$,满足对于 $\forall i \in [1, m], l_{p_i} \le a_i \le r_{p_i}$。 在此基础上最大化序列长度,输出最大的 $m$ 值。

输入格式

第一行一个正整数 $n$,表示障碍的个数。 接下来 $n$ 行,第 $i$ 行两个正整数 $l_i, r_i$,表示障碍的可通行区间。

输出格式

一个正整数,表示最长的不下降序列 $a_m$ 的长度 $m$。

说明/提示

**【数据范围】** 对于 $100\%$ 的数据,满足 $1\le n\le 10^5, 1\le a_i\le 10^9$。 - Subtask 1(20 points):$1\le n\le 20$。 - Subtask 2(30 points):$1\le n\le 10^3$ - Subtask 3(10 points):$l_i=r_i$。 - Subtack 4(40 points):无特殊限制。