poj 1328 Radar Installation

微信小程序通过MQTT协议实现智能家居远程控制——基于阿里云物联网平台 本文详细介绍了如何利用微信小程序与MQTT协议,结合阿里云物联网平台,构建一套完整的智能家居远程控制系统。文章从平台配置、MQTT协议核心概念、小程序开发实战到单片机端对接,提供了全链路实践指南,并重点阐述了通过规则引擎实现消息路由与设备绑定的关键步骤,帮助开发者快速实现安全、稳定的自定义智能家居解决方案。 阅读详情

题意:这题是说,在一条直线两侧分别是海跟陆地,也就是说这条线是海岸线。在海里有若干个用x,y坐标标示位置的岛屿,岸上安排雷达站,每个雷达站有覆盖范围。要求求出最少需要多少个雷达站覆盖所有岛屿。
解法:贪心。这题就是在一条直线上画最少的覆盖直线一侧所有点的一系列圆。首先对每个点求出能覆盖到这个点的在直线上左右两极限位置的坐标。然后按照左极限位置对这些点排序。然后从左到右找到每个雷达最多能覆盖的岛屿数。最后就得到了所需的雷达数。当有岛屿离海岸的距离大于雷达覆盖半径,则输出不可能。

 

 

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
const int M = 1001;
struct xy
{
    double l;
    double r;
}p[M];
double min(double a,double b)
{
    return a < b ? a :b;
}
int d,n;
bool cmp(struct xy a,struct xy b )
{
    return a.l < b.l;
}
int main()
{
    double a,b;
    int icase = 0;
    while(cin >> n >> d)
    {
        memset(p,0,sizeof(0));
        if(n == 0 && d == 0)
        {
            break;
        }
        icase ++;
        int sum = 1;
        bool flag = false;
        for(int i = 1; i <= n;i++ )
        {
           cin >> a >>b;
           if(b > d)  ///当有岛屿离海岸的距离大于雷达覆盖半径,则输出不可能。
           {
               flag = true;
           }
           else
           {
            p[i].l = a - sqrt(d*d - b*b);
            p[i].r = a + sqrt(d*d - b*b);
           }
            
        }
        if(flag)
        {
            printf("Case %d: -1\n",icase);
            continue;
        }
        else
        {
            sort(p+1,p+n+1,cmp); 
            double s = p[1].r;
            for(int i = 2; i <= n; i++) ///从左向右
            {
                if(p[i].l > s)
                {
                    sum++;
                    s = p[i].r;
                }
                else
                {
                    s = min(s,p[i].r);
                }
            }
        }
      printf("Case %d: %d\n",icase,sum);

    }
    return 0;
}


 

sysbench测试系统内存 系统内存读写测试方法,报告解读 阅读详情

相关推荐

告别枯燥的Unity编辑器脚本:Odin插件如何让游戏数据配置变得像搭积木一样简单?

本文详细介绍了Odin插件如何简化Unity编辑器脚本开发,使游戏数据配置变得直观高效。通过声明式特性和丰富的可视化工具,Odin让开发者告别繁琐的OnGUI代码,实现所见即所得的开发体验。文章重点展示了Odin的核心优势、魔法特性及实战案例,帮助Unity开发者提升工作效率。

weixin_28717411的博客 345

【题解】POJ 1328 Radar Installation(贪心)

POJ 1328 Radar Installation 原题 假设滑行是一条无限长的直线。陆地在海岸的一边,大海在另一边。每个小岛都是位于海边的一个点。而任何定位在海岸上的雷达装置,只能覆盖d距离,所以海上的岛屿可以被半径装置覆盖,如果它们之间的距离最多是d。 我们使用笛卡尔坐标系,定义滑行是x轴。海面在x轴上方,陆地面在x轴下方。考虑到每个岛屿在海上的位置,以及雷达装置的覆盖距离,您的任务是编写一个程序来查找覆盖所有岛屿的雷达装置的最小数量。注意,一个岛的位置是由它的x-y坐标表示的。 图一雷达装置的样

bu_shushu的博客 1280

告别卡顿闪烁!在Cesium 1.134中集成SOG格式,让400万高斯秒级加载

本文详细介绍了如何在Cesium 1.134中集成SOG格式,实现400万高斯数据的秒级加载,解决传统加载方式导致的卡顿和闪烁问题。通过空间索引重构、属性量化编码和WebGPU原生支持等技术,SOG格式显著提升了三维地理空间可视化的性能。文章还提供了环境准备、模型转换和Cesium集成的实战指南,帮助开发者高效优化项目。

weixin_29313817的博客 498

【贪心】poj 1328 Radar Installation

poj 1328 Radar Installation(贪心)题意:x轴是无限长的一条海岸,x轴上方有很多小岛,需要安装雷达在海岸上,使雷达能扫到所有的小岛。给出小岛的坐标,和雷达扫描的半径,问最少需要多少雷达。题解:最优的方案把第一个点放在第一个雷达刚好能扫到的地方,就确定了放第一个雷达的最优位置,然后剩下第一个雷达没扫到的继续按这个方式找还需要的雷达的最优位置。那么我们需要把每个小岛在海岸的雷

学无纸巾 361

架构——异地多活成熟的架构模式

摘要: 本文系统介绍了三种异地多活架构模式:业务定制型、业务通用型和存储通用型。业务定制型针对核心业务定制化设计,复杂度低但扩展性差;业务通用型通过统一配套服务(流量调度、配置中心等)实现多业务兼容,适合业务量大但一致性要求不高的场景;存储通用型依托分布式一致性数据库(如OceanBase、TiDB)天然支持强一致性,适合金融等高要求场景,但对部署距离和成本有较高限制。文章对比了各模式的优缺点及适用场景,为不同业务需求下的架构选型提供了实践指导。

小志的博客 7085

ESP32-S3 + TB6600驱动42步进电机:从基础接线到AccelStepper库平滑加减速实战

本文详细介绍了如何使用ESP32-S3开发板和TB6600驱动器控制42步进电机,从基础接线到利用AccelStepper库实现平滑加减速控制。内容涵盖硬件连接、基础驱动代码、AccelStepper库的安装与参数调优,以及高级技巧与故障排除,帮助创客实现工业级精准控制。

weixin_42632434的博客 282

POJ 1328 Radar Installation

POJ 1328 Radar Installation(贪心) Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 101806 Accepted: 22654 Description Assume the coasting is an infinite straight line...

博学 笃志 切问 近思 200

Innovus实战:5分钟搞定postRoute阶段冗余hold buffer的自动清理(附PHC识别技巧)

本文分享了在数字IC后端设计中使用Innovus工具,于postRoute阶段自动清理冗余hold buffer的实战技巧。通过配置时序感知的面积回收模式,可在5分钟内安全移除非关键路径上的PHC缓冲器,有效优化芯片面积与功耗,并附有PHC识别与验证方法。

moon9的博客 400

POJ:1328 Radar Installation 解题思路(采用优先队列和栈实现)、注意点以及部分测试数据

POJ:1328 Radar Installation 解题思路(采用优先队列和栈实现)、注意点以及部分测试数据 本题选自PKU Online Judge(POJ)——http://poj.org/当中的第1328题 题目不难,但是比较经典,主要的思路是采用贪心算法求解,但是需要转化一下才行,网络上也有其他的博主写关于此题的思路,但是我这里主要是采用STL方式进行解题(priority_qu...

领头“洋” 703

学习C++的递归函数(包含汉诺塔讲解)

简单来讲,递归函数就是函数本身自己调用自己,那么函数又是什么呢?#include <stdio.h> //这行是头文件,不同的头文件可以用不同的函数int main() //这里就是一个main函数//这里是你要编写程序的内容return 0;(这是个小细节如下)所以我们平时用来练习的就是一个main函数,而且是一个整型类型的函数,而这也是最后一句话为什么要加一句 return 0;了,因为它最后要返回整数类型,其它整数也可以,但是大家规定为0,这是C++自带的函数。

2302_81032013的博客 2594

FR4板材实战:用ADS 2023快速设计微带线低通滤波器(附Line-Cal计算技巧)

本文详细介绍了使用ADS 2023在FR4板材上设计1-3GHz微带线低通滤波器的工程技巧。通过Line-Cal工具快速计算微带线参数,解决FR4板材的介质损耗和阻抗匹配问题,提供从集总参数转换到分布参数的实用方法,并分享版图设计与实测验证的关键要点,帮助工程师高效完成射频滤波器设计。

omega的博客 713

POJ1328 Radar Installation

题目链接如下 http://poj.org/problem?id=1328 题目大意: 基本信息: 如图所示,在给定一个坐标系后,坐标系的任意点(整数)都可能出现一个岛屿,如P1,P2,P3。在x轴上任意点(整数)都可能出现一个雷达。 雷达有一个探测范围d,以雷达为圆心d为半径的圆内以及圆上都是可以探测到的范围。 初始情况下: 给定岛屿的数量,以及每个岛屿的横纵坐标,然后给出雷达的探测距离。 目...

qq_36206070的博客 688

自适应滤波器在噪声消除中的应用:系统设计与实现

本文设计并实现了一种基于LMS算法的自适应噪声消除系统,能够有效消除周期性背景噪声,提升信噪比10dB以上。系统采用模块化设计,包含音频输入、自适应滤波、信号分析和可视化等核心模块,支持实时处理与参数动态调整。通过Python实现,提供图形界面进行参数设置、频谱对比和音频播放功能,为语音增强提供了一种实用解决方案。

huanghm88的专栏 128

poj 贪心相关之1328 Radar Installation

poj 贪心相关之1328 Radar Installation

ziqi9216的博客 301

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

poj-1328 Radar Installation 贪心

题目链接poj-1328 Radar Installation题目Radar InstallationTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 97615 Accepted: 21702DescriptionAssume the coasting is an infinite straight line. Land is i...

iwts 270

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

POJ 1328——Radar Installation

链接:http://poj.org/problem?id=1328 题解 #include<iostream> #include<algorithm> #include<cmath> using namespace std; const int MAX=1e3+50; int n,d; // n是海岛数,d是覆盖半径 ...

SmallProgramer3121的博客 218

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

poj1328 Radar Installation

poj1328  Radar Installation时空限制    1000ms/10000KDescriptionAssume the coasting is an infinite straight line. Land is in one side of coasting, sea in the other. Each small island is a point locating in...

H优快云 259

POJ 1328 Radar Installation(贪心法之区间选点)

问题:Radar InstallationPOJ - 1328假定海岸线是无限长的直线。陆地位于海岸线的一侧,海洋位于另一侧。每个小岛是位于海洋中的一个点。对于任何一个雷达的安装 (均位于海岸线上),只能覆盖 d 距离,因此海洋中的小岛被雷达安装所覆盖的条件是两者间的距离不超过 d 。 我们使用卡笛尔坐标系,将海岸线定义为 x 轴。海洋的一侧位于 x 轴上方,陆地的一侧位于下方。给定海...

勉強しているユキさんです 324

POJ-1328-Radar Installation

POJ-1328-Radar Installation 传送门 这道题目是数学+贪心哦~ 题目大意:有一条无限的海岸线,海岸线的一边是海洋,海岸线的另一边是陆地,其中海洋上面有些许岛屿,现如今要安装雷达系统来检测各个岛屿情况,给出各个岛屿的坐标位置和一个雷达最多能到达的半径d(雷达能检测到的范围是半径为r的圆)问最少需要花费多少个雷达才能够把所有的岛屿都给检测到。 如果不能检测到所有岛屿,那么输出-1即可。 本题思路: 我们先来考虑特殊情况:什么时候输出-1呢? 当我们输入的d小于0或者岛屿的纵坐标的绝对值

qq_44624316的博客 267

POJ1328 Radar installation

题目链接:http://poj.org/problem?id=1328 大致题意:给定一个直角坐标系,定义x轴为海岸线,海岸线上方是海,下方是陆地。在海域零星分布一些海岛, 需要要在海岸线上安装若干个雷达覆盖这些海岛。每个雷达的覆盖半径都是相同且固定。现在给定所有海岛的坐标(x,y), 以及雷达的覆盖半径d,求可以覆盖所有海岛的最小雷达数。若没有则输出-1 解题思路: ①只要存在任意一个海岛...

Fitz的博客 340

poj1328Radar Installation

poj1328Radar Installation 原博文地址:https://blog.youkuaiyun.com/deepmindman/article/details/52278572 思路一: 1)将小岛从左到右编号1~n。 2)访问第一个小岛,根据小岛坐标计算出雷达在海岸线上的坐标范围,取该区间的最右侧建立雷达。 3) 继续访问下一座小岛,如果该小岛处于已经建立的雷达范围内,跳过。如果不在范围内,同2)建立新的雷达站。 4)访问所有的小岛,结束。 可以用以下测试样例判断: 2 2 1 1 2 2 0 0 C

weixin_49165728的博客 240

张三的雷达:C++用贪心算法解POJ1328_Radar Installation问题

POJ1328_Radar Installation 题目链接: POJ1328_Radar Installation 简单理解一下题目: 张三所在的地方有一个无限延伸的海岸线,如图所示(图源自题目), x轴上方是海,下方是陆地,海上有一些分散的小岛,张三为了保证每一个小岛都在监测范围内,要在海岸线上放一些雷达,每个雷达的探测范围是直径为d的圆形区域,由于张三比较抠,他想尽可能用比较少的雷达来探测所有的小岛,那么在给定小岛个数n、位置以及探测范围d的情况下,请你算出最少的雷达数,如果无法保证所有小岛都探测

只想AC的博客 810

Poj1328 Radar Installation

http://poj.org/problem?id=1328 注意以下几点: (1)雷达所在的x轴坐标可以是小数!!! (2)输出格式一定注意Case的C字母大写 思路很简单,贪心,AC代码: #include<iostream> #include<vector> #include<algorithm> #include<string&g...

qq_35752161的博客 264

Radar Installation POJ-1328 解题报告

题目:POJ-1328http://poj.org/problem?id=1328Radar InstallationTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 102221 Accepted: 22734DescriptionAssume the coasting is an infinite straight line. ...

Chen_hsuan的博客 413

poj 1328 - Radar Installation

这道题还是有点意思

doodlesomething 614
上一篇: 13岁我们在做什么,现在20岁我又在做什么
下一篇: poj 1922 Ride to School
i丹明扬
博客等级 码龄15年 331粉丝 115原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值