[USACO20FEB] Help Yourself G
题目描述
在一个数轴上有 $N$ 条线段,第 $i$ 条线段覆盖了从 $l_i$ 到 $r_i$ 的所有实数(包含 $l_i$ 和 $r_i$)。
定义若干条线段的**并**为一个包含了所有被至少一个线段覆盖的点的集合。
定义若干条线段的**复杂度**为这些线段的并形成的连通块的数目。
现在 Bessie 想要求出给定 $N$ 条线段的所有子集(共有 $2^N$ 个)的复杂度之和对 $10^9+7$ 取模的结果。
你也许猜到了,你需要帮 Bessie 解决这个问题。但不幸的是,你猜错了!在这道题中你就是 Bessie,而且没有人来帮助你。一切就靠你自己了!
输入输出格式
输入格式
第一行一个整数 $N$($1 \leq N \leq 10^5$)。
接下来 $N$ 行,每行两个整数 $l_i,r_i$,描述一条线段。保证 $1 \leq l_i \lt r_i \leq 2N$,且任意两个端点都不在同一位置上。
输出格式
输出所求答案对 $10^9+7$ 取模的结果。
输入输出样例
输入样例 #1
3
1 6
2 3
4 5
输出样例 #1
8
说明
### 样例解释
所有非空子集的复杂度如下所示(显然空集的复杂度为零):
$$
\{[1,6]\} \implies 1, \{[2,3]\} \implies 1, \{[4,5]\} \implies 1
$$
$$
\{[1,6],[2,3]\} \implies 1, \{[1,6],[4,5]\} \implies 1, \{[2,3],[4,5]\} \implies 2
$$
$$
\{[1,6],[2,3],[4,5]\} \implies 1
$$
故答案为 $1+1+1+1+1+2+1=8$。
### 子任务
- 测试点 $2 \sim 3$ 满足 $N \leq 16$;
- 测试点 $4 \sim 7$ 满足 $N \leq 1000$;
- 测试点 $8 \sim 12$ 没有特殊限制。