题目详情
返回题库题目描述
给你一个整数K。对于初始为空的集合S,依次处理以下两种类型的Q查询:
1 x:给出一个整数x。如果x在S中,则从S中删除x。否则,将x添加到S中。2 x:给出位于S中的整数x。考虑一个图,其中的顶点是S中的数字,并且当且仅当两个数字之间的绝对差最多为K时,这两个数字之间有一条边。请打印包含x的连通部分中的顶点数。
输入描述
第一行Q和K
接下来Q行代表Q个询问
数据范围:
- 1≤Q≤2×$10^{5}$
- 0≤≤$10^{18}$
- 对于每个查询,1≤x≤$10^{18}$。
- 对于第二种类型的每个查询,给定的x在S中。
- 所有输入值均为整数。
输出描述
按照要求输出答案
提示
样例1:
查询处理过程如下
- 在第一个查询中,3添加到S,得到={3}。
- 在第二个查询中,将10添加到S,得到S={3,10}。
- 在第三个查询中,考虑一个有顶点3和10且没有边的图。包含33的连通部分的大小为1,因此打印1。
- 在第四个查询中,7添加到S,结果是S={3,7,10}。
- 在第五次查询中,考虑一个顶点为3、7和10的图,在3和7以及7和10之间有边。包含3的连通部分的大小为3,因此打印3。
- 在第六次查询中,从S中删除10,得到S={3,7}。
- 在第七个查询中,考虑一个有顶点3和7的图,在它们之间有一条边。包含3的连通部分的大小为2,因此打印2。