#3628. T4-遥控炸弹

T4-遥控炸弹

问题描述

兔国和猫国之间发生了一场大战。

兔国的武器研究员兔兔发现,士兵在投掷炸弹的时候,总是会误伤友方人员,所以他们发明了一种遥控炸弹,这种炸弹只会在前方的一定范围爆炸,即假设该炸弹位于 xx 位置,其威力为 dd,那么其爆炸范围为 [x,x+d)[x,x+d)​。

同时,为了加大炸弹的威力,兔兔设计了引爆程序,炸弹之间彼此会产生连锁反应,即如果第 ii 个炸弹被引爆,且第 jj 个炸弹在第 ii 个炸弹的爆炸范围内,那么炸弹 jj​ 也会同时被引爆。

为了形式化问题本身,我们假定所有炸弹都被安装在了数轴的整点上,所以如果一个炸弹位于 xx 位置,其威力为 dd,那么其爆炸后会引爆 x,x+1,x+2,,x+d1x,x+1,x+2,…,x+d-1 这些位置上的炸弹。

现在数轴上有 nn 个炸弹,第 ii 个炸弹位于 xix_i,其威力为 did_i,兔兔可以手动操控其中若干个炸弹并将其同时引爆,兔兔想知道通过连锁反应,最终被引爆的炸弹集合有多少种可能,答案对 998244353998244353 取模。

输入格式

输入第一行,包含一个正整数 nn

之后 nn 行,每行包含 22 个整数,表示 xi,dix_i,d_i

输出格式

输出共一行,包含一个整数,表示答案,答案对 998244353998244353 取模。

样例输入1

2
1 5
3 3

样例输出1

3

样例解释1

若手动引爆炸弹 {1}\{1\},则最终被引爆的炸弹集合为 {1,2}\{1,2\}​。

若手动引爆炸弹 {1,2}\{1,2\},则最终被引爆的炸弹集合为 {1,2}\{1,2\}

若手动引爆炸弹 {2}\{2\},则最终被引爆的炸弹集合为 {2}\{2\}​。

若引爆炸弹 {}\{\},则最终被引爆的炸弹集合为 {}\{\}​。

所以共有 33 种可能,分别为 {1,2},{2},{}\{1,2\},\{2\},\{\}

样例输入2

3
6 5
-1 10
3 3

样例输出2

5

样例解释2

共有 55 种可能,分别为 {1,2,3},{1},{},{1,3},{3}\{1,2,3\},\{1\},\{\},\{1,3\},\{3\}

样例输入3

4
7 10
-10 3
4 3
-4 3

样例输出3

16

样例解释3

这些炸弹两两之间不会相互波及,所以手动引爆的结果即为最终炸弹引爆的结果,答案为 24=162^4=16​。

样例输入4

20
-8 1
26 4
0 5
9 1
19 4
22 20
28 27
11 8
-3 20
-25 17
10 4
-18 27
24 28
-11 19
2 27
-2 18
-1 12
-24 29
31 29
29 7

样例输出4

110

评测数据规模

对于 40%40\% 的数据,1n201 \leq n \leq 20​。

对于 60%60\% 的数据,1n10001 \leq n \leq 1000

对于另外 20%20\% 的数据,保证任意一个炸弹引爆后都不会发生连锁反应。

对于所有测评数据,$1 \leq n \leq 2 \times 10^5,-10^9 \leq x_i \leq 10^9,1 \leq d_i \leq 10^9$,保证炸弹的坐标两两不同。