TopCoder

Caido
主唱太拼命了

User's AC Ratio

100.0% (3/3)

Submission's AC Ratio

71.4% (5/7)

Tags

Description

上海卷王唐可可上課睡覺還能算微積分,喜歡 Cosplay 又是 Liella! 中負責做衣服的能力擔當,長相討喜的她居然還有這一面!?

平安名堇為了不想讓唐可可繼續嘲笑她過往在電視前面扮演大王具足蟲,決定狠心把唐可可幫她製作的大王具足蟲道具服剪破。

為了能在跟唐可可吵架時看起來有知識一點,她決定計算一刀剪下去有可能剪到多少種不同的線段組合,並以此向唐可可炫耀,而唐可可為了不想被小堇看扁,打算不斷更改衣服的縫線,來考驗小堇是不是真的那麼會計算。

具體來說可以把一個縫線當作一維數線上的一條線段,對於第 $i$ 條線段,它覆蓋的區域是 $[l_i, r_i]$,而剪一刀則是挑一個點 $p_j$,以及一些(至少一個)包含 $p_j$ 的線段將其剪斷。對於兩種被剪掉的線段組合 $S_a$、$S_b$,我們稱其不同若且唯若存在一個編號 $k$ 的線段使得 $k \in S_a \land k \notin S_b$ 或 $k \notin S_a \land k \in S_b$ 成立。

最一開始時,道具服上並沒有縫線,而唐可可接著總共會做 $N$ 次道具服的修改,每當一次修改完成後你就必須幫平安名堇回答她可以剪到多少種線段組合。

Input Format

輸入的第一行有一個正整數 $N$。

接著的 $N$ 行,每行包含三個用空白分開的整數 $t_i, l_i, r_i$。若 $t_i = 0$,代表唐可可想加入一條 $[l_i, r_i]$ 的線段;若 $t_i = 1$,則代表唐可可要移除目前仍在衣服上且最早被加入的線段 $[l_i, r_i]$。

  • $1 \leq N \leq 5 \times 10^ 5$
  • $t_i \in \lbrace 0, 1\rbrace$
  • $1 \leq l_i \leq r_i \leq 10^ 9$
  • 刪除操作時,保證存在至少一條 $[l_i, r_i]$ 線段

Output Format

請輸出 $N$ 行整數,代表唐可可第 $i$ 次操作後可被剪到的線段集合數量,因為此數字可能很大,請輸出該數字除以 $10^ 9 + 7$ 後的餘數即可。

Sample Input 1

4
0 9 10
0 4 4
1 4 4
1 9 10

Sample Output 1

1
2
1
0

Sample Input 2

5
0 266 867
1 266 867
0 407 613
1 407 613
0 718 926

Sample Output 2

1
0
1
0
1

Sample Input 3

5
0 7 10
0 5 9
0 8 9
0 1 9
0 6 6

Sample Output 3

1
3
7
15
19

Hints

Problem Source

IOICamp 2022 Day5 pI

Subtasks

No. Testdata Range Constraints Score
1 0~2 範例測資 0
2 0~45 無額外限制 100

Testdata and Limits

No. Time Limit (ms) Memory Limit (VSS, KiB) Output Limit (KiB) Subtasks
0 4000 262144 65536 1 2
1 4000 262144 65536 1 2
2 4000 262144 65536 1 2
3 4000 262144 65536 2
4 4000 262144 65536 2
5 4000 262144 65536 2
6 4000 262144 65536 2
7 4000 262144 65536 2
8 4000 262144 65536 2
9 4000 262144 65536 2
10 4000 262144 65536 2
11 4000 262144 65536 2
12 4000 262144 65536 2
13 4000 262144 65536 2
14 4000 262144 65536 2
15 4000 262144 65536 2
16 4000 262144 65536 2
17 4000 262144 65536 2
18 4000 262144 65536 2
19 4000 262144 65536 2
20 4000 262144 65536 2
21 4000 262144 65536 2
22 4000 262144 65536 2
23 4000 262144 65536 2
24 4000 262144 65536 2
25 4000 262144 65536 2
26 4000 262144 65536 2
27 4000 262144 65536 2
28 4000 262144 65536 2
29 4000 262144 65536 2
30 4000 262144 65536 2
31 4000 262144 65536 2
32 4000 262144 65536 2
33 4000 262144 65536 2
34 4000 262144 65536 2
35 4000 262144 65536 2
36 4000 262144 65536 2
37 4000 262144 65536 2
38 4000 262144 65536 2
39 4000 262144 65536 2
40 4000 262144 65536 2
41 4000 262144 65536 2
42 4000 262144 65536 2
43 4000 262144 65536 2
44 4000 262144 65536 2
45 4000 262144 65536 2