跟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之间的空位数存起来,然后没次查询都更改一次