【问题描述】
笑笑家的楼下是一条绿化带,可以用一条从0到10000的线段来表示。笑笑还知道这个绿化带上有n个地点(坐标为0到10000的整数)可以设置喷水池。已知喷水池的半径为r(正整数)。笑笑希望知道至少需要设置多少个喷水池才能把这个绿化带完全灌溉。
【输入格式】
第 1 行:两个整数n和r,分别表示可以设置喷水池的地点和喷水池的半径。
第 2 行:有n个数,分别表示可设置喷水池的地点坐标
【输出格式】
一个数,表示需要设置的喷水池的最少数量。
【输入样例】
5 4000
0 1000 3000 2000 9000
【输出样例】
2
【数据范围】
n<=1000,可以保证不存在无解情况。
笑笑家的楼下是一条绿化带,可以用一条从0到10000的线段来表示。笑笑还知道这个绿化带上有n个地点(坐标为0到10000的整数)可以设置喷水池。已知喷水池的半径为r(正整数)。笑笑希望知道至少需要设置多少个喷水池才能把这个绿化带完全灌溉。
【输入格式】
第 1 行:两个整数n和r,分别表示可以设置喷水池的地点和喷水池的半径。
第 2 行:有n个数,分别表示可设置喷水池的地点坐标
【输出格式】
一个数,表示需要设置的喷水池的最少数量。
【输入样例】
5 4000
0 1000 3000 2000 9000
【输出样例】
2
【数据范围】
n<=1000,可以保证不存在无解情况。
解题思路:根据题意,每个喷水池都有一个坐标和相同的半径,因此可以将每个喷水池的喷水区域看作一条线段(一个区间),而绿化带是一条0-10000的线段([0,10000]),于是该题转化为区间覆盖问题,要求设置的喷水池的最少数量,即是求选择最少的线段(区间)去覆盖绿化带。求区间覆盖问题