#ABC356F. 距离连通块大小查询

距离连通块大小查询

距离连通块大小查询

题目描述

给定整数 KK。对于一个初始为空的集合 SS,按顺序处理以下两种类型的 QQ 个查询:

1 x:给定整数 xx。如果 xxSS 中,则将 xxSS 中移除;否则将 xx 加入 SS

2 x:给定在 SS 中的整数 xx。考虑一张图,顶点为 SS 中的数,当且仅当两个数的差的绝对值不超过 KK 时,它们之间连边。输出包含 xx 的连通分量的顶点数。

输入格式

输入按以下格式从标准输入给出:

QQ KK
query1\mathrm{query}_1
\vdots
queryQ\mathrm{query}_Q

每个查询按以下格式给出:

1 x

2 x

输出格式

按顺序处理查询。

样例

7 5
1 3
1 10
2 3
1 7
2 3
1 10
2 3
1
3
2

查询的处理过程如下:

在第一个查询中,33 被加入 SS,得到 S={3}S=\{3\}

在第二个查询中,1010 被加入 SS,得到 S={3,10}S=\{3,10\}

在第三个查询中,考虑以 331010 为顶点且没有边的图。包含 33 的连通分量大小为 11,所以输出 11

在第四个查询中,77 被加入 SS,得到 S={3,7,10}S=\{3,7,10\}

在第五个查询中,考虑以 33771010 为顶点的图,其中 3377 之间、771010 之间有边。包含 33 的连通分量大小为 33,所以输出 33

在第六个查询中,1010SS 中被移除,得到 S={3,7}S=\{3,7\}

在第七个查询中,考虑以 3377 为顶点的图,两者之间有边。包含 33 的连通分量大小为 22,所以输出 22

11 1000000000000000000
1 1
1 100
1 10000
1 1000000
1 100000000
1 10000000000
1 1000000000000
1 100000000000000
1 10000000000000000
1 1000000000000000000
2 1
10
8 0
1 1
1 2
2 1
1 1
1 2
1 1
1 2
2 1
1
1

数据范围

  • 1Q2×1051 \le Q \le 2\times 10^5
  • 0K10180 \le K \le 10^{18}
  • 对于每个查询,1x10181 \le x \le 10^{18}
  • 对于每个第二种类型的查询,给出的 xx 在该时刻位于 SS
  • 所有输入值均为整数
难度 提高+/省选
通过率
尝试 0
已通过 0
ID
3317
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签