AT_abc356_f.[ABC356F] Distance Component Size Query

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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

  • 1 x:给定整数 xx。如果 SS 中包含 xx,则将 xx 从 SS 中移除;否则,将 xx 加入 SS。
  • 2 x:给定 SS 中的一个整数 xx。以 SS 中的数为顶点,若两个数的差的绝对值不超过 KK,则在它们之间连一条边。对于这样的图,输出 xx 所在连通分量的顶点数。

输入格式

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

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

每个查询的格式如下:

11 xx

22 xx

输出格式

请处理所有查询。

输入输出样例

  • 输入#1

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

    输出#1

    1
    3
    2
  • 输入#2

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

    输出#2

    10
  • 输入#3

    8 0
    1 1
    1 2
    2 1
    1 1
    1 2
    1 1
    1 2
    2 1

    输出#3

    1
    1

说明/提示

限制条件

  • 1≤Q≤2×1051 \leq Q \leq 2 \times 10^5
  • 0≤K≤10180 \leq K \leq 10^{18}
  • 对于每个查询,1≤x≤10181 \leq x \leq 10^{18}
  • 对于类型 22 的查询,给定的 xx 一定在当前的 SS 中。
  • 输入均为整数。

样例说明 1

查询的处理过程如下:

  • 第 11 个查询,将 33 加入 SS,此时 S={3}S=\{3\}。
  • 第 22 个查询,将 1010 加入 SS,此时 S={3,10}S=\{3,10\}。
  • 第 33 个查询,考虑 3,103,10 这两个顶点组成的图,没有边,输出 33 所在连通分量的大小 11。
  • 第 44 个查询,将 77 加入 SS,此时 S={3,7,10}S=\{3,7,10\}。
  • 第 55 个查询,考虑 3,7,103,7,10 这三个顶点组成的图,33 和 77 之间有边,77 和 1010 之间有边,输出 33 所在连通分量的大小 33。
  • 第 66 个查询,将 1010 从 SS 中移除,S={3,7}S=\{3,7\}。
  • 第 77 个查询,考虑 3,73,7 这两个顶点组成的图,33 和 77 之间有边,输出 33 所在连通分量的大小 22。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页