#P4729. [HNOI2009] 积木游戏

[HNOI2009] 积木游戏

题目描述

丹丹是一位狂热的俄罗斯方块爱好者,但在把积分刷爆之后她终于开始感到厌倦了。于是她着手思考这样一个俄罗斯方块的简化版游戏:在初始状态地面上是空的。假设所有的积木都是长方形,且积木不能旋转或翻转。丹丹在每个时刻会选择一个位置将一块积木落下,当积木在落下的过程中碰到地面或另一块积木时,它会停留在地面上或那块积木上。落到另—块积木上意味着:上面的积木的下边界与下面的积木的上边界至少有一条线段重合(―个点不算),如图 1 所示。

图1

在俄罗斯方块中,如果某个时刻积木之间形成了一个洞,那么看上去就很不优美。于是丹丹想知道,每落下一块积木之后,会形成几个新的洞。一个洞是指由积木的边界或地面组成的一块面积大于 00 的封闭的区域,如图 2(a)和图 2(b)所示。

要注意的是:当出现图 3 所示的情况时,因为积木 1 和积木 2 紧紧地挨在一起,所以当积木 3 落下的时候,不会形成新的洞。

现在丹丹告诉你她依次落下的积木的髙度 HiH_i 以及落下的位置的左右边界 LiL_iRiR_i1in1 \leq i \leq n,而她想知道毎次积木落下时会形成几个新的洞?

图23

输入格式

第一行包含一个正整数 nn,表示落下的积木的总数。接下来有nn行,每行有用一个空格隔开的三个整数,分别表示 LiL_iRiR_iHiH_i,即积木落下的左右边界和积木的高度。

输出格式

包含 nn 行,每行只有一个数,第 ii 行表示第 ii 个积木落下后形成的新的洞的数目。

6
1 3 2
4 7 2
2 5 1
3 6 1
8 11 2
6 8 3
0
0
1
0
0
2

提示

【数据范围】

输入数据保证 0Li<Ri100000,Hi10000 \leq L_i < R_i \leq 100000, H_i \leq 1000

30%30\% 的数据保证 n100n \leq 100

100%100\% 的数据保证n100000n \leq 100000

【样例说明】

样例执行后的结果如图 4 所示,其中依次落下的积木按顺序编号为从 1166 的一个整数。

图4