AT_abc356_f [ABC356F] Distance Component Size Query

题目描述

给定一个整数 $K$。对于初始为空的集合 $S$,依次处理 $Q$ 个如下两种类型的查询: - `1 x`:给定整数 $x$。如果 $S$ 中包含 $x$,则将 $x$ 从 $S$ 中移除;否则,将 $x$ 加入 $S$。 - `2 x`:给定 $S$ 中的一个整数 $x$。以 $S$ 中的数为顶点,若两个数的差的绝对值不超过 $K$,则在它们之间连一条边。对于这样的图,输出 $x$ 所在连通分量的顶点数。

输入格式

输入按以下格式从标准输入给出。 > $Q$ $K$ > $\mathrm{query}_1$ > $\vdots$ > $\mathrm{query}_Q$ 每个查询的格式如下: > $1$ $x$ > $2$ $x$

输出格式

请处理所有查询。

说明/提示

## 限制条件 - $1 \leq Q \leq 2 \times 10^5$ - $0 \leq K \leq 10^{18}$ - 对于每个查询,$1 \leq x \leq 10^{18}$ - 对于类型 $2$ 的查询,给定的 $x$ 一定在当前的 $S$ 中。 - 输入均为整数。 ## 样例说明 1 查询的处理过程如下: - 第 $1$ 个查询,将 $3$ 加入 $S$,此时 $S=\{3\}$。 - 第 $2$ 个查询,将 $10$ 加入 $S$,此时 $S=\{3,10\}$。 - 第 $3$ 个查询,考虑 $3,10$ 这两个顶点组成的图,没有边,输出 $3$ 所在连通分量的大小 $1$。 - 第 $4$ 个查询,将 $7$ 加入 $S$,此时 $S=\{3,7,10\}$。 - 第 $5$ 个查询,考虑 $3,7,10$ 这三个顶点组成的图,$3$ 和 $7$ 之间有边,$7$ 和 $10$ 之间有边,输出 $3$ 所在连通分量的大小 $3$。 - 第 $6$ 个查询,将 $10$ 从 $S$ 中移除,$S=\{3,7\}$。 - 第 $7$ 个查询,考虑 $3,7$ 这两个顶点组成的图,$3$ 和 $7$ 之间有边,输出 $3$ 所在连通分量的大小 $2$。 由 ChatGPT 4.1 翻译