题意
思路:
- 对于1操作可以采用类似链表的方法在元素 \(x\) 的后面直接插入 \(y\) 的值,即 \(nxt_x = y\)。
- 对于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)\)。