luogu#P9100. [PA2020] Miny

[PA2020] Miny

题目描述

题目译自 PA 2020 Runda 3 Miny

nn 枚地雷被运到 Bytau 的军事训练场,并沿一条直线埋设。每个地雷位于不同的地方,并且有自己的爆炸半径。当引爆时,地雷会自动引爆其爆炸半径内所有尚未爆炸的地雷。如果地雷 aa 和地雷 bb 之间的距离不超过地雷 bb 的爆炸半径,则我们称地雷 aa 在地雷 bb 的爆炸半径内。

Bytomir 中士想进行一项实验。他选择了一个任意的地雷子集(也许是空的),并让这个地雷子集内的所有地雷在同时手动引爆。实验的结果是一组已经爆炸的地雷——要么是手动引爆的引起的爆炸,要么是其他地雷爆炸导致的爆炸。

Bytomir 能得到多少种可能的实验结果?如果两个实验结果中爆炸的地雷相同,则这两个实验结果是相同的。由于结果可能很大,请输出它除以 109+710^9+7 的余数。

输入格式

输入第一行包含一个整数 nn,表示地雷个数。

接下来 nn 行,每行两个整数 ai,ria_i,r_i,分别表示地雷的位置和爆炸半径。你可以假设 a1<a2<<ana_1<a_2<\cdots<a_n

输出格式

输出可能的实验结果总数对 109+710^9+7 取模后的值。

4
0 2
2 0
3 2
7 4
7

提示

样例 1 解释

你可以得到 77 种可能的实验结果:

  • {}\{\}(空集):如果不引爆任何地雷;
  • {1,2}\{1,2\}(地雷 1,21,2):如果我们只引爆地雷 11
  • {1,2,3}\{1,2,3\}:如果我们引爆地雷 1133
  • {1,2,3,4}\{1,2,3,4\}:如果我们引爆地雷 1144
  • {2}\{2\}:如果我们只引爆地雷 22
  • {2,3}\{2,3\}:如果我们只引爆地雷 33
  • {2,3,4}\{2,3,4\}:如果我们只引爆地雷 44

请注意,可以通过不同的方式得到同一个实验结果——例如,如果我们引爆地雷 1122,也会得到 {1,2}\{1, 2\} 的结果。


数据范围

本题采用捆绑测试

对于 100%100\% 的数据,保证 1n3×1051\le n\le 3\times 10^50ai,ri10180\le a_i,r_i\le 10^{18}