现在的位置: 首页 > 综合 > 正文

POJ_2828 Buy Ticket(线段树)

2012年01月09日 ⁄ 综合 ⁄ 共 298字 ⁄ 字号 评论关闭

  跟2182一样,都是找空。把数据倒插,pos[i]表示前边有pos[i]个空位,每填一个空位就把那个空位删掉。

例如(0表示空位):

0 20

1 19

1 38

0 31

初始空位:

1      2      3      4

0      0      0      0

把第n个数填到pos[n]+1空位上:

1      2      3      4

31     0      0      0

 

第n-1个:

2      3      4

0     38      0

第n-2个:

 2      4

 0      19

 

第一个:

2

20

最后的结果就是

1      2      3      4

31      20      38      19

 

用线段数把1-n之间的空位数存起来,然后没次查询都更改一次

 

 

 

 

抱歉!评论已关闭.