AT_abc230_d.[ABC230D] Destroyer Takahashi

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

在一个被划分为 NN 行 10910^9 列格子的城市中,有 NN 面墙,每面墙都被分配了从 11 到 NN 的编号。
第 ii 面墙位于第 ii 行,从左起第 LiL_i 列到第 RiR_i 列的范围内。(也请参考输入输出样例 11 的图示。)

高桥君决定要摧毁所有 NN 面墙。
拥有超人力量的高桥君可以用一次拳击同时对连续的 DD 列造成伤害。

  • 更严格地说,可以选择一个 11 到 109−D+110^9 - D + 1 之间的整数 xx,对第 xx 列到第 x+D−1x + D - 1 列范围内(只要有一部分在该范围内)的所有尚未被摧毁的墙造成拳击伤害。

只要墙的任意部分受到伤害,整面墙就会因拳击的冲击波而被彻底摧毁。
(也请参考输入输出样例 11 的说明。)

请问高桥君至少需要多少次拳击才能摧毁所有的墙?

输入格式

输入以如下格式从标准输入读入。

NN DD
L1L_1 R1R_1
L2L_2 R2R_2
⋮\vdots
LNL_N RNR_N

输出格式

输出摧毁所有墙所需的最少拳击次数。

输入输出样例

  • 输入#1

    3 3
    1 2
    4 7
    5 9

    输出#1

    2
  • 输入#2

    3 3
    1 2
    4 7
    4 9

    输出#2

    1
  • 输入#3

    5 2
    1 100
    1 1000000000
    101 1000
    9982 44353
    1000000000 1000000000

    输出#3

    3

说明/提示

限制条件

  • 1≤N≤2×1051 \leq N \leq 2 \times 10^5
  • 1≤D≤1091 \leq D \leq 10^9
  • 1≤Li≤Ri≤1091 \leq L_i \leq R_i \leq 10^9
  • 所有输入均为整数。

样例解释 1

下图展示了与输入样例 11 对应的墙的分布。

例如,可以如下方式进行拳击,仅用 22 次拳击摧毁所有的墙。(下述说明中,aa 列到 bb 列的范围记作 [a,b][a, b]。)

  • 首先,对 [2,4][2, 4] 进行拳击。位于 [2,4][2, 4] 的墙 11 和墙 22 受到伤害,被摧毁。
  • 然后对 [5,7][5, 7] 进行拳击。位于 [5,7][5, 7] 的墙 33 受到伤害,被摧毁。

另外,也可以如下方式用 22 次拳击摧毁所有墙:

  • 首先对 [7,9][7, 9] 进行拳击,摧毁墙 22 和墙 33。
  • 然后对 [1,3][1, 3] 进行拳击,摧毁墙 11。

样例解释 2

与输入输出样例 11 相比,墙 33 的范围从 [5,9][5, 9] 变成了 [4,9][4, 9]。
在这种情况下,只需对 [2,4][2, 4] 进行一次拳击即可摧毁所有的墙。

由 ChatGPT 4.1 翻译

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

首页