U494333 【模版】van Emde Bose 树

题目背景

vEB 树是一种能在 $O(V)$ 的时间里预处理,并在 $O(\log \log V)$ 中回答所有题目中的询问的数据结构,在 $V

题目描述

你有一个集合 $S$,在任何时刻其中所有元素都小于 $V$。 初始这个序列为空,你需要维护以下 $7$ 种操作,操作共有 $q$ 个。 1. `1 x` 表示在集合中加入 $x$,不保证 $x$ 此前不在集合中,若在,请忽略。 2. `2 x` 表示在集合中删去 $x$,不保证 $x$ 此前在集合中,若不在,请忽略。 3. `3 x` 表示查询 $x$ 是否在集合中。是则输出 `1`,否则输出 `0`。 4. `4 x` 表示查询 $x$ 在集合中的前驱,若没有前驱,输出 $-1$。 5. `5 x` 表示查询 $x$ 在集合中的后继,若没有后继,输出 $-1$。 6. `6` 表示求集合中的最小元素,若集合内没有元素,输出 $-1$。 7. `7` 表示求集合中的最大元素,若集合内没有元素,输出 $-1$。

输入格式

第一行有两个数,$q$ 与 $V$。 接下来 $q$ 行,每行 $1$ 或 $2$ 个数字,为 $op(,x)$,其中 $op$ 表示操作类型。

输出格式

若干行,每行 $1$ 个数字。 你需要对每一个 $op\ge 3$ 的操作输出其答案。

说明/提示

对于 $30\%$ 的数据,$1\le q,V\le3000$。 对于另外 $10\%$ 的数据,$1\le V\le30$。 对于另外 $10\%$ 的数据,$op\le3$。 对于 $70\%$ 的数据,$1\le q\le 3\times10^5$。 对于另外 $10\%$ 的数据,$op\ge3$。 对于 $100\%$ 的数据,$1\le q,V\le 2\times10^6,0\le x