AT_abc273_e
1.CSP-J 2020 普及组讲解
2.AT_abc273_e
3.#21 20240903 比赛4.#22 20240905 比赛5.20240909 NAC6.#23 20240910 比赛7.#24 20240912 比赛8.20240918 CCO 2019 Day29.20240919 湘潭夏令营10.#25 20240919 比赛11.20240920 随机训练12.#26 20240924 比赛13.20240925 随机训练14.#27 20240928 比赛15.20240930 CCPC Harbin16.#29 20241002 比赛17.20241002 UER #118.#30 20241004 比赛19.#31 20241006 比赛20.20241006 BTS2421.#32 20241007 比赛22.20241008 UER #723.20241010 ROIR 202424.#35 20241010 比赛25.#36 20241011 比赛26.#39 20231016 比赛27.#41 20241018 比赛28.#40 20241017 比赛题目:AT_abc273_e
题意
-
有空序列 ,另外有 个空序列 ,现在执行 次操作,包括以下四种操作:
ADD x
,在序列 后插入整数 。DELETE
,删除 的末尾元素,空则什么都不干。SAVE y
,赋值操作,。LODE z
,将 变为 。
-
每次操作后输出 的末尾元素,没有输出 。
-
数据范围:。
思路
-
显然有一个暴力,模拟操作,肯定超时。
-
首先我们肯定不能把整个序列存下来,但是有些元素删除了, 后可能又恢复了,那该怎么办呢?
-
我们可以考虑一个树形结构,令 为当前 的末尾元素, 表示 的末尾元素,那么插入元素就是将 ,删除就是 ,第三种操作,就是将 ,最后一种就是 。
时间复杂度
- 因为 要用 ,,其他每次均是 。
- 组询问,共 。
本文作者:xiehanrui0817
本文链接:https://www.cnblogs.com/xhr0817-blog/p/17435719.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步