首页 > 其他分享 >AT_abc273_e

AT_abc273_e

时间:2023-05-28 11:35:41浏览次数:42  
标签:10 le 元素 pos nx abc273 末尾

题目:AT_abc273_e

链接:洛谷AT逐月

题意

  • 有空序列 \(a\),另外有 \(10^9\) 个空序列 \(p1 \sim p_{10^9}\),现在执行 \(q\) 次操作,包括以下四种操作:

    • ADD x,在序列 \(a\) 后插入整数 \(x\)。
    • DELETE,删除 \(a\) 的末尾元素,空则什么都不干。
    • SAVE y,赋值操作,\(p_x = a\)。
    • LODE z,将 \(a\) 变为 \(p_z\)。
  • 每次操作后输出 \(a\) 的末尾元素,没有输出 \(-1\)。

  • 数据范围:\(1 \le q \le 5 \times 10^5, 1 \le x,y,z \le 10^9\)。

思路

  • 显然有一个暴力,模拟操作,肯定超时。

  • 首先我们肯定不能把整个序列存下来,但是有些元素删除了,\(LODE\) 后可能又恢复了,那该怎么办呢?

  • 我们可以考虑一个树形结构,令 \(nx\) 为当前 \(a\) 的末尾元素,\(pos_y\) 表示 \(p_y\) 的末尾元素,那么插入元素就是将 \(fa_x = nx, nx = x\),删除就是 \(nx = fa_{nx}\),第三种操作,就是将 \(pos_y = nx\),最后一种就是 \(nx = pos_z\)。

时间复杂度

  • 因为 \(p\) 要用 \(map\),\(O(\log 10^9)\),其他每次均是 \(O(1)\)。
  • \(q\) 组询问,共 \(O(q \log 10^9)\)。

标签:10,le,元素,pos,nx,abc273,末尾
From: https://www.cnblogs.com/xhr0817-blog/p/17435719.html

相关文章

  • abc273_e Notebook 题解
    Notebook题意有\(q\)次操作。现在你有一个空序列\(a\)和一本\(10^9\)页的笔记本,每页纸上都有一个空序列。每次操作是以下四种中的一种:ADDx,表示在\(a\)的末尾插入一个整数\(x\)。DELETE,表示删除\(a\)的末尾的一个数,如果\(a\)序列为空则什么也不干。SAVEy,表......
  • [ABC273D] LRUD Instructions
    题目链接题解模拟题。观察题目,我们发现,无论问的是前/后/左/右,你都只会在一条直线上走,那对于这条直线,我们可以记录所有这条直线上的障碍物,然后找到距离当前点最近的障碍物,也就是说我们只能走到那个障碍物那块。虽然数据范围高达\(10^9\),但是\(n\le10^5\),所以用\(map\)套\(......
  • [ABC273G] Row Column Sums 2 题解
    [ABC273G]RowColumnSums2Solution目录[ABC273G]RowColumnSums2Solution更好的阅读体验戳此进入题面SolutionCodeUPD更好的阅读体验戳此进入题面给定$n$,给......
  • abc273G题解
    \(dp[i][j]\):考虑到前i行,有j个2的方案数。设有k个1(计算可得)。\(a_{i+1}=0\):\(dp[i][j]\todp[i+1][j]\)\(a_{i+1}=1\):\(dp[i][j]\times(n-j-k)\todp[......
  • ABC273F
    ABC273F*2277题意高桥在数轴原点,他想走到坐标\(X\)。数轴上有\(N\)面墙和\(N\)把锤子。第\(i\)面墙位于坐标\(Y_i\),高桥不能穿墙。第\(i\)把锤子位于坐标......
  • ABC273 E~G
    E:考虑维护当前所在位置的指针。设当前点为\(u\)。对于第一个操作,我们可以将\(u\)新增一个儿子\(x\),并将指针转移到\(x\)。对于第二个操作,把指针转移到\(fa_u\)......
  • 【区间DP】ABC273F. Hammer 2
    ABC273F.Hammer2Difficulty:2277、关路灯模型区间DP题意略。思路设计dp状态:\(f[l][r][0/1]\)表示走完区间[l,r]最后待在l(0)或r(1)处的最小移动距离总和......