POJ 1328 Radar Installation

DSP28335做FFT傅里叶变换 1. 看了一下例程,居然没有FFT的例程,难道这个DSP28335不能做FFT吗?对了C2000系列是有C2000 ware这个库的。方便很多,不过目前不确定在C5000上运行的FFT能直接迁移到DSP28335上行不?测试了一下,是可以的,因为都是用的math.h,下面的一些正弦函数基本一样的 2. 硬件简介,其中DSP28335和TLV320AIC23B之间使用I2C接口进行寄存器配置,... 阅读详情
Radar Installation
Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 56591 Accepted: 12768

Description

Assume 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 the sea side. And any radar installation, locating on the coasting, can only cover d distance, so an island in the sea can be covered by a radius installation, if the distance between them is at most d. 

We use Cartesian coordinate system, defining the coasting is the x-axis. The sea side is above x-axis, and the land side below. Given the position of each island in the sea, and given the distance of the coverage of the radar installation, your task is to write a program to find the minimal number of radar installations to cover all the islands. Note that the position of an island is represented by its x-y coordinates. 
 
Figure A Sample Input of Radar Installations


Input

The input consists of several test cases. The first line of each case contains two integers n (1<=n<=1000) and d, where n is the number of islands in the sea and d is the distance of coverage of the radar installation. This is followed by n lines each containing two integers representing the coordinate of the position of each island. Then a blank line follows to separate the cases. 

The input is terminated by a line containing pair of zeros 

Output

For each test case output one line consisting of the test case number followed by the minimal number of radar installations needed. "-1" installation means no solution for that case.

Sample Input

3 2
1 2
-3 1
2 1

1 2
0 2

0 0

Sample Output

Case 1: 2
Case 2: 1

题目大意:有n艘船及其坐标,在海岸线位置需要安装雷达,已知雷达信号覆盖范围的半径,求最少需要多少个雷达能覆盖完所有船只。若无解,输出-1。

解题思路:求出每艘船能被覆盖的雷达坐标区间,给区间按左边界排序,区间重叠部分设置一个雷达,依次往后。

解题过程:wa点:注意找枚举雷达坐标的精确值,解题过程发现0.01是精确值。细节注意:最小的右区间边界也算在设置雷达范围内。

代码如下:
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn=1000005;
const int mixn=1e-10; 
int n;
struct A
{
    double x,y;
}a[maxn];
struct B
{
    double l,r;
}b[maxn];
double cmp(B a,B b)
{
    return a.l<b.l;
}
double findr(int x)
{
	double m=1000000.0;
	for(int i=x;i<n;i++)
		if(m>b[i].r)
			m=b[i].r;
	return m;
}

int main()
{
    int ans,t=0,i,p;
    double d,low,high,cur,minr;
    while(scanf("%d%lf",&n,&d)!=EOF&&(n||d))
    {
        t++,p=0,ans=1;
		minr=1000000.0;
        if(d<=0.0)p=1;
        for(i=0;i<n;i++)
        {
            scanf("%lf%lf",&a[i].x,&a[i].y);
            if(a[i].y>d||a[i].y<0.0)
                p=1;
        }
        if(p)
        {
            printf("Case %d: -1\n",t);
            continue;
        }
        for(i=0;i<n;i++)
        {
            low=a[i].x-d;
            high=a[i].x;
            for(cur=high;cur>=low;cur-=0.01)//这里若采用二分查找临界条件不好判断
            {
                if((a[i].x-cur)*(a[i].x-cur)+(a[i].y*a[i].y)>d*d)
                    break;
            }
            b[i].l=cur;
            low=a[i].x;
            high=a[i].x+d;
            for(cur=low;cur<=high;cur+=0.01)
            {
               if((a[i].x-cur)*(a[i].x-cur)+a[i].y*a[i].y>d*d)
                        break;
            }
            b[i].r=cur;
			if(minr>b[i].r)
				minr=b[i].r;	//找到最小右边界
        }
		sort(b,b+n,cmp);//给区间左边界排序
		for(i=0;i<n;i++)
		{
			if(b[i].l<=minr)continue;
			else
			{
				ans++;
				minr=findr(i);//设置完一个雷达后找新的最小右边界
			}
		}
        printf("Case %d: %d\n",t,ans);
    }
    return 0;
}


TSMC 65nm PDK衬底文件转换避坑记:从.itf到.itd,解决ADS导入乱码与金属层缺失 本文详细解析了TSMC 65nm PDK衬底文件从.itf到.itd转换过程中的常见问题及解决方案,包括ADS导入乱码与金属层缺失的修复方法。通过环境准备、文件定位、转换操作和问题诊断的完整流程,帮助工程师高效完成衬底文件转换,确保电磁仿真精度。 阅读详情

相关推荐

Unity URP 深度解析:利用Stencil与RenderFeature实现高效遮挡高亮

本文深入解析Unity URP中利用Stencil与RenderFeature实现高效遮挡高亮的技术方案。通过模板缓冲机制和自定义RenderFeature,开发者可以在保持场景完整性的同时,清晰标识被遮挡物体位置,提升游戏体验。文章详细介绍了Shader编写、URP管线配置及性能优化技巧,并提供了常见问题排查方法。

weixin_29012677的博客 478

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

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

bu_shushu的博客 1279

史上最小白之RNN详解

1.前言 网上目前已经有诸多优秀的RNN相关博客,但是我写博客的出发点主要是为了加深和巩固自己的理解,所以还是决定自己再进行一下总结和描述,如有不正确的地方欢迎指正~ 2.区分RNN 循环神经网络(Recurrent Neural Network),递归神经网络(Recursive Neural Network),你有没有发现他们的缩写都是RNN,那他们两个是同一回事儿吗?网上有一些博客把这两就当...

Tink1995的博客 4万+

【贪心】poj 1328 Radar Installation

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

学无纸巾 361

基于OpenCV的驾驶疲劳检测与预警系统设计

PERCLOS(Percentage of Eye Closure)是一种基于眼睑闭合程度的疲劳度量指标。在基于OpenCV的驾驶疲劳检测与预警系统设计中,PERCLOS可以用于检测驾驶员的眼睑闭合程度,以判断其是否疲劳。该函数用于检测视频流中人脸的疲劳程度。具体地,该函数通过检测人脸的眼睛和嘴巴的状态来评估人脸的疲劳程度。眼睛状态是通过计算眼睛的长宽比(eyear)来判断,如果长宽比小于某个阈值,则认为眼睛闭合,表示人处于疲劳状态。

2301_79810943的博客 2326

滚动轴承振动信号特征解析与故障诊断模型构建

本文深入解析了滚动轴承振动信号的三大来源与特征,并详细阐述了从时域、频域到时频域的特征提取方法。通过构建基于机器学习(如随机森林、SVM)或深度学习的故障诊断模型,结合实战代码示例,为设备维护工程师提供了一套从信号分析到智能诊断的完整解决方案,旨在实现精准的故障识别与预测性维护。

qsc901234567的博客 368

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

最新版IAR9.40和注册工具

IAR最新版的IDE在编译速度和代码提示等各个方面上都有很大提升,软件这个东西果然还是越新越好。之前的时候,IAR v9系列网上很多人都说能用,但是又没有把 IAR v9系列的注册方法写的很清楚,导致我一直都用注册老版本v8的方法去注册v9。结果注册后都会提示。

xue_nuo的博客 4万+

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

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

领头“洋” 703

HexView 脚本自动化工具:从刷写文件处理到批量转换实战

本文详细介绍了如何利用HexView脚本自动化工具高效处理嵌入式刷写文件。通过实战演示,文章展示了如何使用bat脚本实现S19、HEX等格式文件的剪切、填充、合并与批量转换,构建自动化流水线,从而显著提升汽车电子等领域的开发与生产效率。

weixin_29237635的博客 355

告别乱码!ESP32+LVGL显示中文的保姆级教程(基于ESP-IDF,附7000字库生成)

本文详细介绍了如何在ESP32上使用LVGL显示中文的完整解决方案,包括中文字库生成、ESP-IDF工程集成和优化技巧。通过7000字库生成和实战案例,帮助开发者彻底解决中文乱码问题,适用于智能家居、智能手表等嵌入式设备开发。

weixin_28740299的博客 396

POJ1328 Radar Installation

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

qq_36206070的博客 688

39-Halcon-- fit_primitives_object_model_3d函数功能(从3D数据中提取几何基元)

Halcon算子fit_primitives_object_model_3d工业应用精要 该算子专为3D几何特征提取设计,支持平面、球体、圆柱等基元拟合。核心优势: 参数化输出:返回几何元素的数学参数(如平面方程、球心半径) 智能控制:通过max_dist、min_size等参数调节拟合精度 工业场景适配:针对薄壁件、孔系等提供专用优化方案 典型应用流程: 数据预处理(点云降噪/采样) 基元类型与参数设置 多阶段拟合(先平面后圆柱) 几何精度验证 误差控制在0.1%-1.2%范围内(视点云密度而定),适用于

weixin_45590420的博客 1161

poj 贪心相关之1328 Radar Installation

poj 贪心相关之1328 Radar Installation

ziqi9216的博客 301

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

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

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

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

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

Fitz的博客 340

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

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

poj 1328 - Radar Installation

这道题还是有点意思

doodlesomething 614

poj 1328 Radar Installation

题目链接:http://poj.org/problem?id=1328 题意:给出海上有n个小岛的坐标,求发出的信号可以覆盖全部小岛的最少的雷达个数。雷达发射信号是以雷达为圆心,d为半径的圆,雷达都在x轴上。 分析:1.刚开始就知道这道题要用贪心做,但是一下子想不出该如何贪心。然后图图画画后发现只要求出可以覆盖每一个小岛的雷达的区间范围即可,然后可以转化为贪心区间求点问题。正好今天在...

dct03023的博客 107
上一篇: CodeForces 492D Vanya and Computer Game
下一篇: POJ 2586 Y2K Accounting Bug
雨狮子
博客等级 码龄12年 24粉丝 185原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值