双栈维护头尾操作
是如下的数据结构。
我们需要支持头尾增删,以及全局查询的操作。
蠢笨的做法是使用线段树分治,但会多
操作如下:
-
开两个栈
,分别处理头尾的增删 -
增:头增
,尾增 -
删:与增类似,但是栈空时特别处理:
-
双栈大小之和不超过
特判 -
否则将有数字的那个栈切为两半,均分到两个栈里面 注意顺序,应当是这一半倒着插入另一个栈
-
-
查:合并两个栈顶信息。
时间复杂度考虑双栈大小之差
例题:
贪玩蓝月
利用双栈维护背包模板题。
CF2026F
对于
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!