U131415 「模板」块状链表

题目背景

~~$vector$ 吊打平衡树~~

题目描述

你需要维护一个可重集,初始为空,支持以下操作: 1. 插入一个数 $x$ 2. 删除一个数 $x$ (若有多个,只删除一个) 3. 查询第 $x$ 小的数 4. 查询比 $x$ 小的数的个数 $+1$ 5. 查询比 $x$ 小的最大数 6. 查询比 $x$ 大的最小数

输入格式

**本题强制在线** 第一行,一个整数 $N$,表示操作次数 接下来 $N$ 行,每行两个整数 $opt,x'$,$opt$ 表示操作类型,设上一次询问的答案为 $ans$,$ans$ 初始为 $0$,则 $x' \ xor \ ans$ 为解密后的 $x$

输出格式

一个整数,表示所有询问答案的**异或**和

说明/提示

**请使用快速的输入输出方式,并注意常数优化** 对于 $\ \ 8\%\ \ $ 的数据,$1 \leqslant N \leqslant 10$ 对于 $\ 20\%\ $ 的数据,$1 \leqslant N \leqslant 1000$ 对于 $\ 80\%\ $ 的数据,$1 \leqslant N \leqslant 10^5$ 对于 $100\%$ 的数据,$1 \leqslant N \leqslant 10^6$,$opt \in \{ 1,2,3,4,5,6 \}$,$1 \leqslant x \leqslant 10^9$ 记 $n_i$ 为操作 $i$ 的次数,$n_1 \leqslant 3×10^5$,$n_2+n_4+n_5+n_6 \leqslant 10^5$ 保证所有操作合法,即不会删除不存在的数,询问的答案存在,且存在询问操作 时空限制:$\textcolor{#FF00FF}{200}ms \ \ \textcolor{#FF00FF}{100}MB$ **$std$ 时间复杂度为 $O(\frac{n\sqrt{n}}{\omega})$**