#P15464. 雨水平台

    ID: 14679 传统题 3000ms 512MiB 尝试: 1 已通过: 1 难度: 8 上传者: 标签>CF2400数据结构线段树树状数组倍增前缀和模拟并查集

雨水平台

题目背景

有一组水平平台悬挂在不同高度。每个平台是一段水平线段,水落到某个平台上后,会把整个平台淹没,并从平台的左右端点继续竖直向下流动。

如果水在下落途中遇到更低的平台,它会继续淹没该平台;如果没有遇到任何平台,则落到地面上。

题目描述

共有 nn 个平台。第 ii 个平台的高度固定为 hi=ih_i=i,它在水平方向上覆盖区间 [li,ri][l_i,r_i],其中 li<ril_i<r_i

题目保证所有端点

l1,r1,l2,r2,,ln,rn l_1,r_1,l_2,r_2,\ldots,l_n,r_n

恰好构成 112n2n 的一个排列。

小凯会按某个顺序检查这些平台。设这个顺序为一个排列:

p=(p1,p2,,pn).p=(p_1,p_2,\ldots,p_n).

当他检查到平台 pip_i 时:

  • 如果平台 pip_i 已经被之前的水流淹没,则他什么也不做;
  • 如果平台 pip_i 还没有被淹没,则他会在该平台上倒下无限多的水,使它被淹没,并让水继续向下流动。

小凯会从全部 n!n! 种检查顺序中等概率随机选择一种。请你求他需要主动倒水的次数的期望值,对 109+710^9+7 取模。

输入格式

第一行包含一个正整数 nn

接下来 nn 行,第 ii 行包含两个正整数 li,ril_i,r_i,表示高度为 ii 的平台覆盖区间为 [li,ri][l_i,r_i]

输出格式

输出一行一个非负整数,表示答案对 109+710^9+7 取模后的结果。

样例 0 输入

5
2 9
3 4
1 8
6 10
5 7

样例 0 输出

233333338

附加样例

  • 样例 1 见下发文件中的 ex_water1.in/out,该样例满足子任务 22 的限制。
  • 样例 2 见下发文件中的 ex_water2.in/out,该样例满足子任务 88 的限制。
  • 样例 3 见下发文件中的 ex_water3.in/out,该样例满足子任务 99 的限制。

数据范围与约定

对于所有测试数据,保证:

1n5×105,1 \le n \le 5\times 10^5,

并且:

li<ri,l_i<r_i,

{l1,r1,l2,r2,,ln,rn}\{l_1,r_1,l_2,r_2,\ldots,l_n,r_n\}

构成 112n2n 的一个排列。

子任务 特殊性质 分值
11 n8n\le 8 1010
22 n2×103n\le 2\times 10^3
33 n5×103n\le 5\times 10^3
44 n5×104n\le 5\times 10^4 1515
55 n105n\le 10^5 1010
66 n2.5×105n\le 2.5\times 10^5
77 n4×105n\le 4\times 10^5
88 对任意满足 li<ljl_i<l_ji,ji,j,都有 ri<ljr_i<l_jri>rjr_i>r_j 1515
99 无特殊限制 1010