【bzoj5166】[HAOI2014]遥感监测 贪心
题目描述
给出平面上 $n$ 个圆,在x轴上选出尽可能少的点,使得每个圆中至少有一个点。求这个最小点数。
输入
输出
样例输入
3 2
1 2
-3 1
2 1
样例输出
2
题解
贪心
求出圆与x轴的两个交点,那么这个圆能够包含的点的范围在这两个交点之间。问题转化为给出若干区间,选出最少的点,使得每个区间中都至少有一个点。
问题变成贪心傻逼题,按照左端点从小到大排序,贪心地需要选则选即可。
时间复杂度为排序的 $O(n\log n)$
#include <cmath>
#include <cstdio>
#include <algorithm>
using namespace std;
struct data
{
double l , r;
bool operator<(const data &a)const {return l < a.l;}
}a[110];
int main()
{
int n , m , i , x , y , ans = 0;
double pos = -1e9;
scanf("%d%d" , &n , &m);
for(i = 1 ; i <= n ; i ++ ) scanf("%d%d" , &x , &y) , a[i].l = x - sqrt(m * m - y * y) , a[i].r = x + sqrt(m * m - y * y);
sort(a + 1 , a + n + 1);
for(i = 1 ; i <= n ; i ++ )
{
if(pos < a[i].l) ans ++ , pos = a[i].r;
else pos = min(pos , a[i].r);
}
printf("%d\n" , ans);
return 0;
}
【bzoj5166】[HAOI2014]遥感监测 贪心的更多相关文章
- 【文文殿下】P3737 [HAOI2014]遥感监测
题解 显然可以把每个观测点,认为是x轴上的一段区间.问题就转换为了:对于x轴上的若干个区间,选取尽可能少的点,使得所有区间都有至少一个点. 这是一个相当经典的贪心问题. 代码如下: #include& ...
- HAOI2014 遥感监测
题目链接:戳我 比较水的一个题,直接处理点,找在直线上的可以覆盖到它的区间,然后做最小线段覆盖即可: 代码如下: #include<iostream> #include<cstdio ...
- 【HAOI2014】遥感监测
独立博客被硬盘保护干掉了真不爽啊…… 原题: 外星人指的是地球以外的智慧生命.外星人长的是不是与地球上的人一样并不重要,但起码应该符合我们目前对生命基本形式的认识.比如,我们所知的任何生命都离不开液态 ...
- 林业资源遥感航拍监测GIS系统
航拍监测.遥感监测在林业有害生物(松材线虫病监测).森林防火监测.森林滥砍滥伐.林地侵占.林地违规开发监测等方面应用,将大大提升林业资源监测水平, 针对已有森林资源大量流失,滥砍滥伐现象普遍存在的事实 ...
- 关于TM影像各波段组合的简介
321:真彩色合成,即3.2.1波段分别赋予红.绿.蓝色,则获得自然彩色合成图像,图像的色彩与原地区或景物的实际色彩一致,适合于非遥感应用专业人员使用. 432:标准假彩色合成,即4.3.2波段分别赋 ...
- 视频透雾原理加视频增强Retinex算法介绍
(本文转自:http://www.syphong.cn/52-1.html#) 视频透雾原理加视频增强Retinex算法介绍 -上海凯视力成 钟建军 一. 视频增强的背景 视觉信息是人类获得外界信息的 ...
- 第四周:卷积神经网络 part 3
第四周:卷积神经网络 part 3 视频学习 语义分割中的自注意力机制和低秩重建 语义分割(Semantic Segmentation) 概念:语义分割是在像素级别上的分类,属于同一类的像素都要被归为 ...
- <JVM下篇:性能监控与调优篇>03-JVM监控及诊断工具-GUI篇
笔记来源:尚硅谷JVM全套教程,百万播放,全网巅峰(宋红康详解java虚拟机) 同步更新:https://gitee.com/vectorx/NOTE_JVM https://codechina.cs ...
- 分享|智慧环保-生态文明信息化解决方案(附PDF)
内容摘要: 生态文明建设被提到前所未有的战略高度,我们既要绿水青山,也要金山银山.宁要绿水青山,不要金山银山,而且绿水青山就是金山银山.要正确处理好经济发展同生态环境保护的关系,牢固树立保护生态环境就 ...
随机推荐
- 模拟UNIX(linux)文件系统
操作系统课程设计 一.实验内容 1. 题目:模拟UNIX(linux)文件系统 [问题描述] 在任一OS下,建立一个大文件,把它假象成一张盘,在其中实现一个简单的 模拟U ...
- 浅谈__dict__
类的 __dict__ 先看一个例子: > class A(object): pass > ... > A.__dict__ dict_proxy({'__dict__': < ...
- 我所理解的selenium之PO设计模式
下午,花了点时间来整理UI自动化设计,就把我所理解的PO设计模式项目结构脑图整理如下,有不对的地方还望多多包涵.谢谢
- RSA详解
RSA RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作.RSA是被研究得最广泛的公钥算法,从提出到现今的三十多年里,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥 ...
- .NetCore下使用EF DbFirst操作MySql
新建.NetCore的控制台项目 使用Nuget安装Pomelo.entityframeworkcore.mysql 工程右键--->编辑.csproj文件,把以下内容写入到工程文件 <I ...
- 如何在window服务器上搭建一个能代替ftp的传输工具
通常对于服务器上的文件管理和数据传输都是利用ftp来实现,但随着存储技术的发展,数据资产的存储规模和复杂程度不断提高,传统的ftp传输显得有笨重.今天给大家介绍一款能够取代ftp的在线文档管理软件—— ...
- nodejs 中jead模板改为ejs
var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set(' ...
- 笔试题——C++后序字符比较
题目:从两个数组的最后一个元素开始比较,输出数组中不同元素的个数.当一个数组的所有元素比较完成后,结束比较.a数组长度5,b数组长度3,a[ 4 ]和b[ 2 ]比较. 例: 输入: 77 21 1 ...
- LINUX开发使用的3个远程工具
1,SecureCRT 2,SSH Secure Shell Client 3,VNC Viewer 如果想VNC Server启动时加载vncserver服务 需要修改/etc/rc.d/rc.lo ...
- Hadoop Streaming框架使用(二)
上一篇文章介绍了Streaming的各种参数,本文具体介绍使用方法. 提交hadoop任务示例: $HADOOP_HOME/bin/hadoop streaming \ -input /user/te ...