atcoder#ABC158F. [ABC158F] Removing Robots

[ABC158F] Removing Robots

题目描述

数直線上に、1 1 から N N の番号のついた N N 個のロボットが置かれています。ロボット i i は座標 Xi X_i に存在し、起動すると Di D_i だけ正の方向に移動し、移動を終えると同時に数直線上から取り除かれます。全てのロボットの移動速度は同じで、大きさは無視できます。

イタズラ好きの高橋君は、数直線上にロボットが残っている限り、好きなだけ以下の操作を行うことができます。(1 1 回も行わないことも可能です)

  • ロボットを 1 1 つ選び起動する。移動中のロボットが存在するときは行えない。

ロボット i i が移動する過程で、数直線上の座標 Xi X_i 以上 Xi + Di X_i\ +\ D_i 未満の範囲に残っている別のロボット j j と接触したら、ロボット j j も起動されて移動を開始します。この処理は再帰的に繰り返されます。

高橋君が操作を繰り返した後、数直線上に残っているロボットの組み合わせとして考えられるものは何通り存在するでしょうか。答えは非常に大きくなる場合があるので、998244353 998244353 で割った余りを出力してください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N X1 X_1 D1 D_1 : : XN X_N DN D_N

输出格式

数直線上に残っているロボットの組み合わせとして考えられるものの個数を 998244353 998244353 で割った余りを出力せよ。

题目大意

N个机器人,第i个机器人在Xi位置上,若一个机器人被激活,则它将向右移动Di,若途径别的机器人,则该机器人也将被激活,求可以得到多少个没被激活的机器人的集合(激活次数不限)(对998244353取模)。

2
1 5
3 3
3
3
6 5
-1 10
3 3
5
4
7 10
-10 3
4 3
-4 3
16
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
110

提示

制約

  • 1  N  2 × 105 1\ \leq\ N\ \leq\ 2\ \times\ 10^5
  • 109  Xi  109 -10^9\ \leq\ X_i\ \leq\ 10^9
  • 1  Di  109 1\ \leq\ D_i\ \leq\ 10^9
  • Xi  Xj (i  j) X_i\ \neq\ X_j\ (i\ \neq\ j)
  • 入力は全て整数である

Sample Explanation 1

数直線上に残っているロボットの組み合わせとしては、{1, 2}, {1}, {} \{1,\ 2\},\ \{1\},\ \{\} 3 3 通りが考えられます。 これらは次のように操作すると実現されます。 - 高橋君はロボットを起動しない。このとき、ロボット {1, 2} \{1,\ 2\} が残ります。 - 高橋君がロボット 1 1 を起動する。このとき、ロボット 1 1 が移動する過程でロボット 2 2 を起動します。最終的にロボットは 1 1 つも残っていません。もしくは、高橋君がロボット 2 2 を起動した後ロボット 1 1 を起動しても、ロボットが残っていない状態にすることができます。 - 高橋君がロボット 2 2 を起動し、操作を終了する。このとき、ロボット {1} \{1\} が残ります。

Sample Explanation 2

数直線上に残っているロボットの組み合わせとしては、$ \{1,\ 2,\ 3\},\ \{1,\ 2\},\ \{2\},\ \{2,\ 3\},\ \{\} $ の 5 5 通りが考えられます。

Sample Explanation 3

どのロボットも他のロボットに影響しません。

Sample Explanation 4

組み合わせとして考えられるものの個数を 998244353 998244353 で割った余りを出力することに注意してください。