#G. 超级激光波(laser)

    传统题 1000ms 256MiB

超级激光波(laser)

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

问题描述

火焰车被派往前线攻打敌对阵营,敌方在一个可以看作是 NN 行、10910^9 列的战场上每一行都建造了一道防御壁垒,第 ii 个壁垒位于战场的第 ii 行,横跨从第 LiL_i 列到第 RiR_i 列的一段区域。

作为一位大魔导师,火焰车要释放强力法术摧毁敌方所有的防御壁垒。他每次可以释放出一道超级激光波,攻击连续的 DD 列格子。

具体来说,他可以选择一个起始列 xx,使得从第 xx 列到第 x+D1x + D - 1 列范围内的所有格子受到冲击。只要壁垒的任何部分受到攻击,这道壁垒就会被彻底摧毁。

请帮火焰车计算,至少需要释放多少次激光波才能摧毁敌方所有的防御壁垒?

输入格式

第一行包含两个整数 NNDD,分别表示敌方壁垒的数量和火焰车每次攻击所能覆盖的连续列数。

接下来 NN 行,每行包含两个整数 LiL_iRiR_i,表示第 ii 道防御壁垒所在行的范围是从第 LiL_i 列到第 RiR_i 列。

输出格式

输出一个整数,表示火焰车最少需要的释放次数,才能摧毁所有防御壁垒。

3 3
1 2
4 7
5 9
2
3 3
1 2
4 7
4 9
1
5 2
1 100
1 1000000000
101 1000
9982 44353
1000000000 1000000000
3

样例解释

对于第一个样例,火焰车可以这样攻击:

  • 第一次超级激光波覆盖第 22 到第 44 列,摧毁了第 11 道和第 22 道壁垒。
  • 第二次超级激光波覆盖第 55 到第 77 列,摧毁了第 33 道壁垒。

或者先攻击第 77 到第 99 列,摧毁第 22 和第 33 道壁垒,再攻击第 11 到第 33 列,摧毁第 11 道壁垒,也可以用两次完成。

在第二个样例中,因为第 33 道壁垒的位置发生了变化,火焰车只需一次攻击覆盖第 22 到第 44 列,就能摧毁所有壁垒。

数据范围

对于 20%20\% 的数据,保证 D=1D = 1Li=Ri105L_i = R_i \le 10^5

对于 40%40\% 的数据,保证 D=1D=1Li=Ri109L_i = R_i \le 10^9

对于 80%80\% 的数据,保证 D=1D=1LiRi109L_i \le R_i \le10^9

对于 100%100\% 的数据,保证 1N2×1051 \leq N \leq 2 \times 10^51D1091 \leq D \leq 10^91LiRi1091 \leq L_i \leq R_i \leq 10^9

11.12区间覆盖类贪心

未认领
状态
已结束
题目
8
开始时间
2025-11-11 17:30
截止时间
2025-12-3 23:59
可延期
24 小时