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

csp信奥赛C++高频考点专项训练之贪心算法 --【区间贪心】:雷达安装

csp信奥赛C++高频考点专项训练之贪心算法 --【区间贪心】:雷达安装

题目描述

假设海岸线是一条无限延伸的直线。它的一侧是陆地,另一侧是海洋。每一座小岛是在海面上的一个点。雷达必须安装在陆地上(包括海岸线),并且每个雷达都有相同的扫描范围d dd。你的任务是建立尽量少的雷达站,使所有小岛都在扫描范围之内。

数据使用笛卡尔坐标系,定义海岸线为x xx轴。在x xx轴上方为海洋,下方为陆地。

输入格式

第一行包括2 22个整数n nnd ddn nn是岛屿数目,d dd是雷达扫描范围。

接下来n nn行,每行两个整数,为岛屿坐标。

输出格式

一个整数表示最少需要的雷达数目,若不可能覆盖所有岛屿,输出-1

输入输出样例 #1
输入 #1
3 2 1 2 -3 1 2 1
输出 #1
2
说明/提示
样例 1 解释

数据范围

对于全部数据,n ≤ 1000 n\le1000n1000,$ d \le 2\times 10^4, ,| x_i | \le 2 \times 10^6, ,0 \le y_i \le 2\times 10^4$。

思路分析

  • 将每个岛屿转化为海岸线(x轴)上的一个区间:对于岛屿坐标 ((x, y)),雷达覆盖半径 (d),若 (y > d) 则无解;否则区间为[ 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]
  • 问题变成:在数轴上选最少的点,使每个区间至少包含一个点。经典贪心解法:
    1. 按区间右端点升序排序。
    2. 初始化当前雷达位置为− ∞ -\infty,雷达数 (cnt=0)。
    3. 遍历每个区间,若当前雷达位置小于区间左端点,则必须在此区间右端点放置一个新雷达,(cnt++),并更新雷达位置为该右端点。
  • 输出 cnt,若有岛屿 y > d 则输出 -1。

代码实现

#include<bits/stdc++.h>usingnamespacestd;structseg{doublel,r;}a[1005];//存储区间boolcmp(seg x,seg y){returnx.r<y.r;//按右端点升序}intmain(){intn,d;cin>>n>>d;intx,y;for(inti=0;i<n;i++){cin>>x>>y;if(y>d){cout<<-1;return0;}//无法覆盖doublet=sqrt(d*d-y*y);//半宽a[i].l=x-t;a[i].r=x+t;//计算区间}sort(a,a+n,cmp);//排序intcnt=0;doublelst=-1e9;//cnt雷达数,lst最后雷达位置for(inti=0;i<n;i++){if(lst<a[i].l){//需要新雷达cnt++;lst=a[i].r;//放在右端点}}cout<<cnt;return0;}

功能分析

  • 输入处理:读取 (n,d) 及每个岛屿坐标,若 (y>d) 直接输出 -1 结束。
  • 区间转换:对每个岛屿计算雷达可放置的区间[ 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]
  • 贪心覆盖:按区间右端点排序后,维护当前最后一个雷达的位置,若无法覆盖新区间则在该区间右端点新增雷达。
  • 输出:最少雷达数。时间复杂度O ( n log ⁡ n ) O(n\log n)O(nlogn),空间O ( n ) O(n)O(n),满足n ≤ 1000 n\le 1000n1000的要求。

各种学习资料,助力大家一站式学习和提升!!!

#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"########## 一站式掌握信奥赛知识! ##########";cout<<"############# 冲刺信奥赛拿奖! #############";cout<<"###### 课程购买后永久学习,不受限制! ######";return0;}

【秘籍汇总】(完整csp信奥赛C++学习资料):

1、csp/信奥赛C++,完整信奥赛系列课程(永久学习):

https://edu.csdn.net/lecturer/7901 点击跳转

2、CSP信奥赛C++竞赛拿奖视频课:

https://edu.csdn.net/course/detail/40437 点击跳转

https://edu.csdn.net/course/detail/41081 点击跳转

3、csp信奥赛高频考点知识详解及案例实践:

CSP信奥赛C++动态规划:
https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转

CSP信奥赛C++标准模板库STL:
https://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转

信奥赛C++提高组csp-s知识详解及案例实践:
https://blog.csdn.net/weixin_66461496/category_13113932.html 点击跳转

4、csp信奥赛冲刺一等奖有效刷题题解:

CSP信奥赛C++初赛及复赛高频考点真题解析(持续更新):https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转

信奥赛C++提高组csp-s初赛&复赛真题题解(持续更新):
https://blog.csdn.net/weixin_66461496/category_13125089.html 点击跳转

5、GESP C++考级真题题解:

GESP(C++ 一级+二级+三级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转

GESP(C++ 四级+五级+六级)真题题解(持续更新):https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转


GESP(C++ 七级+八级)真题题解(持续更新):
https://blog.csdn.net/weixin_66461496/category_13117178.html 点击跳转

· 文末祝福 ·

#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"跟着王老师一起学习信奥赛C++";cout<<" 成就更好的自己! ";cout<<" csp信奥赛一等奖属于你! ";return0;}
http://www.jsqmd.com/news/686902/

相关文章:

  • FPGA新手避坑指南:用Vivado 2020.2给黑金AX7A035开发板做个流水灯(附完整XDC约束)
  • 如何在3分钟内完成WPS-Zotero插件安装:告别繁琐文献引用,迎接高效科研写作
  • 别再死磕英文手册了!手把手教你用W25Q128的SPI四线模式(含时序图避坑指南)
  • 2026年河南智能供水设备与无负压恒压系统完全指南 - 年度推荐企业名录
  • 临床决策支持:基于规则的推理与机器学习结合
  • 从二分图匹配到DAG覆盖:最小路径覆盖问题全解析
  • 深度解析wxlivespy:构建企业级微信视频号直播数据采集架构
  • RedisDesktopManager Windows版终极指南:免费安装与高效管理Redis数据库
  • 如何快速下载无水印抖音视频:douyin-downloader完整实战指南
  • 别再只用reduce求和了!这5个实战场景让你彻底玩转JavaScript的reduce函数
  • Windows终极HEIC缩略图解决方案:一键解锁苹果照片预览
  • 八大浪费(一):如何攻克制造业“不良”与“制造过多”浪费难题
  • 避开Matlab仿真GMSK时的3个常见坑:相位累积与滤波器设计实战
  • RPG Maker MV/MZ插件架构深度解析:从技术栈重构到高阶游戏开发实践
  • 前端工程化规范
  • ComfyUI-Manager:AI绘画插件管理神器,彻底告别安装烦恼
  • 云境标书AI:赋能工程领域招投标,开启智能竞标新范式 - 陈工0237
  • 别再死记硬背了!用Arduino+TB67H450FNG驱动板,5分钟搞懂电机混合衰减模式与PID参数整定
  • 深入Hive日志:手把手教你从‘TezTask return code 1’的报错堆栈里找到真凶
  • 别再硬改论文了!PaperXie 双 buff 加持,查重 + 降 AIGC 率一次搞定
  • 内容创造通知
  • 软件工程中设计模式的最佳实践与应用场景深度分析
  • 别只盯着快捷键!黑苹果键鼠体验优化的5个隐藏设置(从滚轮到触控板模拟)
  • 思源宋体完整指南:7种字重免费商用字体,零成本提升中文设计品质
  • S32K3 LPSPI连接多个外设芯片实战:一个SPI模块如何驱动多个传感器
  • 云原生运维必看|K8S全场景故障排查手册
  • 防微振检测机构_声学检测第三方检测机构 - 声学检测-孙工
  • 4月22日海信推小墨E5系列电视:RGB-Mini LED技术领先,价格亲民开启普及风暴
  • 远程办公党必看:用ToDesk+微软RDP双剑合璧,打造无缝混合远程桌面方案
  • OpenCV - 图像缩放