CF101B Buses
题目描述
小男孩 Gerald 在一所离家很远的学校上学。因此,他每天都要乘坐公交车去学校。从家到学校的路线可以用一条直线段表示,这条线段上恰好有 $n+1$ 个公交车站。这些车站按照从 Gerald 家到学校的顺序,编号为 $0$ 到 $n$。Gerald 家旁边的车站编号为 $0$,学校旁边的车站编号为 $n$。
有 $m$ 辆公交车在家和学校之间运行:第 $i$ 辆公交车从车站 $s_i$ 开到 $t_i$($s_i < t_i$),并依次经过中间所有的车站。此外,Gerald 很聪明,他不会在还可以乘坐公交车更接近学校的情况下下车(显然,中途下车是没有意义的)。换句话说,Gerald 可以在第 $i$ 辆公交车的任意一个编号为 $s_i$ 到 $t_i-1$ 的车站上车,但只能在 $t_i$ 号车站下车。
Gerald 不能在车站之间步行,也不能朝着从学校回家的方向移动。
Gerald 想知道,他有多少种方式可以从家到学校。请告诉他这个数字。只要 Gerald 在某一段车站之间乘坐的公交车不同,就认为是不同的方式。由于方案数可能非常大,请输出该数字对 $1000000007$($10^9+7$)取模的结果。
输入格式
第一行包含两个用空格分隔的整数:$n$ 和 $m$($1 \leq n \leq 10^9, 0 \leq m \leq 10^5$)。接下来有 $m$ 行,每行包含两个整数 $s_i, t_i$,表示公交车的起点和终点车站编号($0 \leq s_i < t_i \leq n$)。
输出格式
输出一个整数,表示到达学校的方案数,对 $1000000007$ 取模。
说明/提示
第一个测试样例只有一种到达学校的方式:先乘坐第一辆公交车到 1 号车站,再乘坐第二辆公交车到 2 号车站。
在第二个测试样例中,没有任何公交车到达编号为 3 的车站(即学校所在车站),因此答案为 $0$。
在第三个测试样例中,Gerald 可以选择乘坐或不乘坐前四辆公交车,每种选择都能让他更接近学校。因此,答案为 $2^4 = 16$。
由 ChatGPT 4.1 翻译