100 atcoder#ABC207C. [ABC207C] Many Segments

[ABC207C] Many Segments

配点 : 300300

問題文

11 から NN までの番号が付いた NN 個の区間が与えられます。区間 ii は、

  • ti=1t_i=1 なら [li,ri][l_i,r_i]
  • ti=2t_i=2 なら [li,ri)[l_i,r_i)
  • ti=3t_i=3 なら (li,ri](l_i,r_i]
  • ti=4t_i=4 なら (li,ri)(l_i,r_i)

です。

1i<jN1 \leq i \lt j \leq N を満たす整数の組 (i,j)(i,j) のうち、区間 ii と区間 jj が共通部分を持つようなものは幾つありますか?

区間 $[X,Y],[X,Y),(X,Y],(X,Y)$ とは?
  • 閉区間 [X,Y][X,Y] は、 XX 以上 YY 以下の全ての実数からなる区間
  • 半開区間 [X,Y)[X,Y) は、 XX 以上 YY 未満の全ての実数からなる区間
  • 半開区間 (X,Y](X,Y] は、 XX より大きく YY 以下の全ての実数からなる区間
  • 開区間 (X,Y)(X,Y) は、 XX より大きく YY 未満の全ての実数からなる区間

を表します。一言で言うと、角括弧 [][] を使っている側は端点を含み、丸括弧 ()() を使っている側は端点を含みません。

制約

  • 2N20002 \leq N \leq 2000
  • 1ti41 \leq t_i \leq 4
  • 1li<ri1091 \leq l_i \lt r_i \leq 10^9
  • 入力は全て整数

入力

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

NN

t1t_1 l1l_1 r1r_1

t2t_2 l2l_2 r2r_2

\hspace{1cm}\vdots

tNt_N lNl_N rNr_N

出力

区間 ii と区間 jj が共通部分を持つような整数の組 (i,j)(i,j) の個数を出力せよ。

3
1 1 2
2 2 3
3 2 4
2

問題文中の定義より、区間 11[1,2][1,2], 区間 22[2,3)[2,3), 区間 33(2,4](2,4] です。

区間 ii と区間 jj が共通部分を持つような整数の組 (i,j)(i,j) は、(1,2)(1,2)(2,3)(2,3)22 つとなります。それぞれ、[2,2][2,2](2,3)(2,3) を共通部分として持っています。

19
4 210068409 221208102
4 16698200 910945203
4 76268400 259148323
4 370943597 566244098
1 428897569 509621647
4 250946752 823720939
1 642505376 868415584
2 619091266 868230936
2 306543999 654038915
4 486033777 715789416
1 527225177 583184546
2 885292456 900938599
3 264004185 486613484
2 345310564 818091848
1 152544274 521564293
4 13819154 555218434
3 507364086 545932412
4 797872271 935850549
2 415488246 685203817
102