倒着往队列里面插,每插入一个位置,就说明这个位置已经有人占了,删除这个位置。
比如说数据 pos value,那么就寻找队列中除去已经有人占据的位置后的第pos+1个位置。
我的代码是用标准规格的线段树写的,节点有left,right,cnt(记录该区段内被占据的位置的数量)域。
看到有些别人的代码,直接只用节点记录该区段内剩余有效位置数量,把insert和search操作结合,是个很不错的简化方式。
本文介绍了一种使用线段树进行逆向队列插入的方法,通过记录每个区间内被占据的位置数量,实现了高效的数据管理和搜索。具体包括线段树的构建、插入及查询操作,并给出完整代码实例。
倒着往队列里面插,每插入一个位置,就说明这个位置已经有人占了,删除这个位置。
比如说数据 pos value,那么就寻找队列中除去已经有人占据的位置后的第pos+1个位置。
我的代码是用标准规格的线段树写的,节点有left,right,cnt(记录该区段内被占据的位置的数量)域。
看到有些别人的代码,直接只用节点记录该区段内剩余有效位置数量,把insert和search操作结合,是个很不错的简化方式。

被折叠的 条评论
为什么被折叠?