#A5122. 哨塔守卫

哨塔守卫

题目背景

一条长长的边境线上,有 n 段城墙需要守卫。第 i 段城墙覆盖数轴上从位置 l_i 到 r_i 的范围。指挥官可以在数轴上的某些位置修建哨塔。一座哨塔建在位置 p,就能守卫住所有覆盖位置 p 的城墙段(即满足 l_i ≤ p ≤ r_i 的城墙)。为了节省人力,他希望用尽可能少的哨塔守卫住全部城墙。

题目描述

给定 n 个闭区间 [l_i, r_i],求最少需要修建几座哨塔,使每段城墙都至少被一座哨塔覆盖。

输入格式

第一行一个整数 n。接下来 n 行,每行两个整数 l, r,表示一段城墙覆盖的范围。

输出格式

一个整数,表示最少需要的哨塔数量。

输入输出样例

3
1 4
2 5
6 8
2

样例 1:在位置 4 修一座哨塔守卫前两段城墙,再在位置 8 修一座守卫第三段,至少需要 2 座。

说明/提示

- 1 ≤ n ≤ 10^5 - 1 ≤ l ≤ r ≤ 10^9 - 哨塔位置可以建在实数位置;保证存在可行方案