2023.10.11 闲话
_
完全可追溯化随机访问双端队列
维护一个双端队列的操作序列,支持以下修改 / 询问:
- ,在第 次操作后插入将元素 从左端加入双端队列操作 .
- ,在第 次操作后插入将元素 从右端加入双端队列操作 .
- ,在第 次操作后插入弹出左端第一个数操作 .
- ,在第 次操作后插入弹出右端第一个数操作 .
- ,删除第 次操作 .
- ,询问 时刻后双端队列中 位置的值 .
考虑分别维护被 插入的元素和被 插入的元素 . 考虑双端队列的一种实现方式:维护序列 ,初始 :
- :, .
- :, .
- : .
- : .
那么一次询问只需要知道 和 就行了 . 维护两棵平衡树 ,对应平衡树只存对应的 操作,权值分别为 . 那么求 时刻的 值只需要在平衡树上求一下前缀和就可以了 .
的值肯定是最后一次 后 的操作或者最后一次 后 的操作,分别平衡树二分后比较即可 .
时间复杂度单次操作 .
。
以下是博客签名,正文无关
本文来自博客园,作者:yspm,转载请注明原文链接:https://www.cnblogs.com/CDOI-24374/p/17746216.html
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0)进行许可。看完如果觉得有用请点个赞吧 QwQ
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】