当前位置: 首页 > news >正文

【ACWing】112. 雷达设备

题目地址:

https://www.acwing.com/problem/content/description/114/

假设海岸是一条无限长的直线,陆地位于海岸的一侧,海洋位于另外一侧。每个小岛都位于海洋一侧的某个点上。雷达装置均位于海岸线上,且雷达的监测范围为d dd,当小岛与某雷达的距离不超过d dd时,该小岛可以被雷达覆盖。我们使用笛卡尔坐标系,定义海岸线为x xx轴,海的一侧在x xx轴上方,陆地一侧在x xx轴下方。现在给出每个小岛的具体坐标以及雷达的检测范围,请你求出能够使所有小岛都被雷达覆盖所需的最小雷达数目。

输入格式:
第一行输入两个整数n nnd dd,分别代表小岛数目和雷达检测范围。
接下来n nn行,每行输入两个整数,分别代表小岛的x , y x,yxy轴坐标。同一行数据之间用空格隔开。

输出格式:
输出一个整数,代表所需的最小雷达数目,若没有解决方案则所需数目输出− 1 −11

数据范围:
1 ≤ n ≤ 1000 1≤n≤10001n1000,
1 ≤ d ≤ 200 1≤d≤2001d200,
− 1000 ≤ x , y ≤ 1000 −1000≤x,y≤10001000x,y1000

能覆盖( x , y ) (x,y)(x,y)的雷达可以处于的下标范围是[ x − d 2 − y 2 , x + d 2 − y 2 ] [x-\sqrt {d^2-y^2},x+\sqrt {d^2-y^2}][xd2y2,x+d2y2](当然如果y > d y>dy>d那么雷达覆盖不到,直接输出− 1 -11),所以问题转化为,给定若干区间,求最少的点,使得每个区间至少包含一个点,问最少的点的数量。思路参考https://blog.csdn.net/qq_46105170/article/details/113734162。代码如下:

#include<algorithm>#include<cmath>#include<iostream>#include<vector>usingnamespacestd;usingPDD=pair<double,double>;vector<PDD>v;intn,d;intmain(){scanf("%d%d",&n,&d);v.reserve(n);intres=0;for(inti=1;i<=n;i++){doublex,y;scanf("%lf%lf",&x,&y);if(d<y){res=-1;break;}doubler=sqrt(d*d-y*y);v.emplace_back(x-r,x+r);}if(~res){sort(v.begin(),v.end(),[&](auto&a,auto&b){returna.second<b.second;});doublecur_x=-2e9;for(auto&[l,r]:v)if(cur_x<l){cur_x=r;res++;}}printf("%d\n",res);}

时间复杂度O ( n log ⁡ n ) O(n\log n)O(nlogn),空间O ( 1 ) O(1)O(1)

http://www.cnnetsun.cn/news/70030.html

相关文章:

  • 整体设计 之28 整体设计 架构表表述总表的 完整程序(之27 的Q268 )(codebuddy)
  • 云手机 实体手机的云端延伸
  • 交换机和网卡的 PFC 机制工作原理与实例解析
  • UI自动化测试常见面试题
  • Linux OOM 问题之 DMSERVER 受害者
  • Flutter引擎裁剪与鸿蒙方舟编译协同优化
  • STM32CubeMX的main.c开头介绍
  • 26.MPSOC FPGA linux读AHT20传感器
  • 嵌入式系统时序图完全指南:从原理到实战
  • 小团队与大团队的管理差异
  • [CISCN2019 华东南赛区]Web4
  • AI编程革命!Claude Skills大揭秘:小白也能快速上手的Agent开发神器,大模型开发者必看!
  • 内点法求最优潮流附matlab代码
  • 三相PWM整流器有限集模型预测电流控制附Simulink仿真模型
  • 光伏四可“可观”功能:光伏电站全景数字化的底层支撑技术
  • 如何用FLUX.1-dev镜像在本地部署下一代AI绘画模型?
  • 基于 Comsol 移动网格方法的激光熔池流动数值模拟
  • BLDC无刷直流电机Matlab仿真:转速电流双闭环控制及有感无感换相方式研究
  • [光学原理与应用-491]:水冷机、零气模块CDA、功率计等影响266皮秒紫外激光器的种子源1064nm功率稳定性结果的主要因素有哪些?
  • 昆仑通态MCGS与欧姆龙E5CC温控器通讯实战:PID模式及输出启停控制
  • 通达信〖逆势突破强牛〗指标公式 逆市环境中率先突破前期重要压力位 较强内在上涨动力
  • 基于扰动观测器的永磁同步电机(PMSM)模型预测控制(MPC)仿真探索
  • AEB联合仿真算法设计:Carsim2019.0+Matlab/Simulink2021a实现...
  • Java毕设选题推荐:基于springboot个人博客系统的设计与实现基于SpringBoot+Vue个人博客系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Java毕设选题推荐:基于springboot停车场车位预约系统基于Java springboot停车场管理系统停车位预约【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Java毕设选题推荐:基于springboot的无人化、线上化、数据化海洋馆预约系统的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • Ascend C高级API应用:InitGlobalMemory与Pad操作的底层原理
  • Java毕设选题推荐:基于Java Web的新能源汽车信息咨询服务基于SpringBoot+Vue的新能源汽车信息咨询服务的设计与实现【附源码、mysql、文档、调试+代码讲解+全bao等】
  • 开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:OPA 集成指南:从原理到实践
  • Object.defineProperty和Proxy实现拦截的区别