ABC344E

题意

思路:

  1. 对于1操作可以采用类似链表的方法在元素 \(x\) 的后面直接插入 \(y\) 的值,即 \(nxt_x = y\)
  2. 对于2操作可以采用链表的删除的方法先令 \(p = nxt_x\)\(x\) 的后继,让 \(pre_p = pre_x\) 然后让 \(nxt_{pre_x} = p\) 但是有一个问题就是输出的时候是从头开始输出的如果头被删除了,那就只能从 \(nxt_{head}\) 作为头开始输出了。

细节:

因为 \(X\) 很大所有不能用数组,可以用 STL 中的 map 实现。总的复杂度为 \(O(T \log_2 N)\) 可以通过。
当然也可以使用离散化来实现,具体的把所有的数来读入,排序后然后二分查找下标最后只会用 \(N\) 的大小的空间,复杂度也是 \(O(T \log_2 N)\)

posted @ 2024-03-14 20:35  tomxi  阅读(29)  评论(0)    收藏  举报