题目描述

合肥市某区有一条路叫科丁路,科丁路是一条长度为L的笔直的路(可以比拟为x轴),路的两边有分布了N个小区,现在要在这条路上建一些快递柜方便居民收发快递,为了使得收发快递方便,快递公司规定每个小区到达最近的快递柜距离不超过D。为了节省成本,快递公司想尽快的减少快递柜的数量,请你帮忙计算一下如何建快递柜才能满足所有的小区而且快递柜的数量又尽量少。

输入格式

第一行,一个整数L表示科丁路的长度(L≤10000,马路是从坐标原点开始)

第二行,一个整数表示题目中的最大距离D(D≤1000)

第三行,一个整数N表示马路两旁小区的数量(N≤1000)

接下来N行,每行两个整数x,y,表示每个小区的坐标(其中x>=0,|y|≤D)

输出格式

输出一行,一个整数,满足所有小区的快递柜的最少数量

输入输出样列

输入样例1:

100 50 3 2 4 50 10 70 30

输出样例1:

1

【耗时限制】1000ms 【内存限制】128MB

具体题目链接及评测地点科丁乐|OJ平台

详细思路:

很明显,这道题用了区间贪心,只不过与其他区间贪心不同的是,他是较难的区间覆盖问题

想要是他最近需要连续开平方:

cin>>x>>y;
s[i].l=x-sqrt(d*d-y*y);
s[i].r=x+sqrt(d*d-y*y);

再来,就要对于他进行排序+连续判断

int ans=1;
int b=s[1].r;
for(int i=2;i<=n;i++)
{if(s[i].l>b){ans++;b=s[i].r;}
}

最后输出就可以了;

详细代码

注:请认真思考后再复制代码哦!

#include<bits/stdc++.h>
using namespace std;
struct sb
{double l,r;
}s[10000+10];
bool cmp(const sb &x,const sb &y)
{return x.r<y.r;
}
int main()
{int n,d,x,y,o=1,l;cin>>l>>d>>n;for(int i=1;i<=n;i++){cin>>x>>y;s[i].l=x-sqrt(d*d-y*y);s[i].r=x+sqrt(d*d-y*y);}    sort(s+1,s+1+n,cmp);int ans=1;int b=s[1].r;for(int i=2;i<=n;i++){if(s[i].l>b){ans++;b=s[i].r;}}cout<<ans;return 0;
}

以上为AC代码

以上为本人原创代码!

如有不懂,请私信本人!

写完不易,点赞,评论!

单方面论述题-区间贪心快递柜详解+代码——zzx的博客相关推荐

  1. 单方面论述-奇数对详解+代码——zzx的博客

    题目描述 已知一个长度为N的数列A[1...N],现在给出Q次查询,每次查询给定一个区间[L, R],问区间[L, R]中存在多少队(i, j)使得A[i] + A[j]的结果是一个奇数.例如数列:1 ...

  2. 模拟算法-桶排-信号塔问题详解+代码——zzx的博客

    题目描述 科丁新城经过多年的建设,终于要投入使用了.科丁新城是一个标准的正方形,确切的说,可以将科丁新城看成是一个N*N的网格,线段横平竖直形成N*N个格点,相邻两个格点间都是1单位长度.下图是一个5 ...

  3. Oracle Golden Gate体系架构详解(原创) - CzmMiao的博客生活 - ITeye技术网站

    Oracle Golden Gate体系架构详解(原创) - CzmMiao的博客生活 - ITeye技术网站

  4. 《前端》权限链接--vue前端权限控制方案详解附demo_feiyu_may的博客-CSDN博客_vue 前端权限

    前端权限控制 - 潘正 - 博客园  https://www.cnblogs.com/guchengnan/p/11800947.html vue前端权限控制方案详解附demo_feiyu_may的博 ...

  5. csdn java社区_java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET

    Java 流在处理上分为字符流和字节流.字符流处理的单元为 2 个字节的 Unicode 字符,分别操作字符.字符数组或字符串,而字节流处理单元为 1 个字节,操作字节和字节数组. Java 内用 U ...

  6. linux下安装mysql5.7.19,Linux下MySQL5.1升级到高版本MySQL5.7.19详解 | zifangsky的个人博客...

    一 数据备份 (1)查看当前版本: Shell [root@centos ~]# mysql -V 1[root@centos~]# mysql -V (2)备份数据: Shell [root@cen ...

  7. ListView 和 GridView应用详解-----本文转自博客园

    1. 选择 ListView 或 GridView ListView 和 GridView 控件均用于显示应用中数据的集合.它们的功能十分相似,但是显示数据的方式不同.它们都派生自 ItemsCont ...

  8. 帧起始定界符_帧详解 - web黄金矿工 - 博客园

    数据链路层负责将位组合成字节,并将字节组合成帧.帧被用在数据链路层,从网络层传递过来的数据包被封装成帧,以根据介质访问的类型进行传输. 以太网站点的功能是使用一组称为MAC帧格式的位,在站点之间传送数 ...

  9. 使用mdadm创建raid mdadm命令详解_php_sir_新浪博客

    1.虚拟机上添加5块新磁盘 2.fdisk /dev/sdb,添加三个1G的分区,类型设为fd(linux raid autodetect) 3.dd if=/dev/sdb of=/dev/sdx  ...

最新文章

  1. 【图灵】iOS技能书单——入门+进阶+精通
  2. 【VB测绘程序设计】第三章 VB结构化程序设计(顺序、选择、循环)
  3. Mounty for NTFS免费软件实现MAC OS X下对NTFS分区进行读写
  4. 从零开始学习音视频编程技术(二) 音频格式讲解
  5. 初创公司要严控会议时长,日会5-15分钟,周会不超30分钟
  6. 【学习OpenCV4】图像像素数据类型的转换与归一
  7. ip 纯真数据库查找
  8. JEB工具介绍及使用
  9. 【转】SourceInsight4.0的使用--一遍很详细介绍source insight4使用的文章
  10. Python:实现zellers congruence泽勒一致算法(附完整源码)
  11. cst和ansys_请教一下cst、ansoft、ansys几种电磁计算软件的异同
  12. EMMC内存芯片和NAND区别
  13. 如何免费将PDF转成JPG?
  14. d2l.Vocab(sentences, min_freq=5, reserved_tokens=[‘<pad>‘, ‘<mask>‘, ‘<cls>‘, ‘<sep>‘]) 参数讲解
  15. 最好听的男孩、女孩名字
  16. 图像基本操作——图像边界填充和图像融合
  17. 如何查看当前Word是即点即用版本还是安装版本
  18. 浏览器的内核种类及检测
  19. PHP打印小票排版问题
  20. HR将如何做背景调查?

热门文章

  1. 上海亚商投顾:沪指全天窄幅震荡 大消费板块再掀涨停潮
  2. 中国科学院计算机考研参考用书,中国科学院大学(专业学位)计算机技术考研参考书目...
  3. python实现sql宽字节注入+布尔盲注
  4. 2022年中国PCB铜箔市场现状及趋势分析:未来高端PCB铜箔产能扩张需求较为迫切
  5. 详解各种iou损失函数的计算方式(iou、giou、ciou、diou)
  6. (附源码)spring boot图书管理系统 毕业设计 160934
  7. 说一下对cookie和Storage(localStorage和sessionStorage) 的认识和区别?
  8. 这些页面还有这一些的埋点知识|风控人应知系列
  9. 解决 Ubuntu 20.04 下无法打开蓝牙的问题
  10. No bean named ‘transactionManager‘ available: No matching TransactionManager bean found for qualifie