【文文殿下】P3737 [HAOI2014]遥感监测
题解
显然可以把每个观测点,认为是x轴上的一段区间。问题就转换为了:对于x轴上的若干个区间,选取尽可能少的点,使得所有区间都有至少一个点。 这是一个相当经典的贪心问题。
代码如下:
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
const int maxn = 110;
struct qwq {
int vis;
double x,y;
const bool operator < (const qwq& rhs) const {
if(vis||rhs.vis) return vis<rhs.vis;
if(x==rhs.x) return y<rhs.y;
return x < rhs.x;
}
}L[maxn];
int n,r;
bool inside(int a,int b) {
return L[b].x>=L[a].x&&L[b].y<=L[a].y;
}
int main() {
scanf("%d%d",&n,&r);
for(int i = 1;i<=n;++i) {
int x,y;
scanf("%d%d",&x,&y);
double l = sqrt(r*r-y*y);
L[i].x=x-l,L[i].y=x+l;
}
int cnt = 0;
for(int i = 1;i<=n;++i) {
for(int j =1;j<=n;++j) {
if(inside(i,j)&&i!=j&&!L[j].vis) {
L[i].vis=1;
++ cnt;
break;
}
}
}
std::sort(L+1,L+1+n);
n-=cnt;
double r = -100000000000LL;
int ans = 0;
for(int i = 1;i<=n;++i) {
if(L[i].x<=r) continue;
++ans;
r=L[i].y;
}
printf("%d\n",ans);
return 0;
}
【文文殿下】P3737 [HAOI2014]遥感监测的更多相关文章
- 【bzoj5166】[HAOI2014]遥感监测 贪心
题目描述 给出平面上 $n$ 个圆,在x轴上选出尽可能少的点,使得每个圆中至少有一个点.求这个最小点数. 输入 第1行: N R 分别表示激光点的个数和射电望远镜能检测到的半径 第2~N+1行: Xi ...
- HAOI2014 遥感监测
题目链接:戳我 比较水的一个题,直接处理点,找在直线上的可以覆盖到它的区间,然后做最小线段覆盖即可: 代码如下: #include<iostream> #include<cstdio ...
- 【HAOI2014】遥感监测
独立博客被硬盘保护干掉了真不爽啊…… 原题: 外星人指的是地球以外的智慧生命.外星人长的是不是与地球上的人一样并不重要,但起码应该符合我们目前对生命基本形式的认识.比如,我们所知的任何生命都离不开液态 ...
- 【文文殿下】P3740 [HAOI2014]贴海报
题解 一开始想到离散化,然后暴力模拟.但是存在一种hack数据: [5,7] [1,5] [7,9] 这样会错误的认为第一个区间被覆盖了(因为两个端点被覆盖).所以我们设置一个玄学调参系数,在一个区间 ...
- 【文文殿下】WC2019游记
Day0 今天早上三点半才睡着,五点起床,前往省城郑州.与省实验常老师汇合,坐上高铁,下午三点半多才到广州二中. 下午随便找了一个教室进去敲一敲代码,发现自己越来越菜了. 和一大堆网上的dalao面基 ...
- 【文文殿下】NOIp2018游记
Day-1 本段更新于 2018年11月8日23:26:44 今天还在机房里面,无所事事吧.上午睡了一上午,出去理了一下发,花了20块钱 QAQ. 下午来到机房,复习了一下exgcd的东西. 发现自己 ...
- 【文文殿下】【CF724C】Ray Tracing (中国剩余定理)
题解 我们考虑将棋盘扩大一倍,这样相当于取膜.然后,我们只要对x,y,的位置分类讨论,做四次crt就行.具体细节看文文代码. #include<cstdio> #include<al ...
- [文文殿下]基本的DP技巧
. 二进制状态压缩动态规划 对于某些情况,如果题目中所给的限制数目比较小,我们可以尝试状态压缩动态规划.例如,题目中给出数据范围\(n<=20\),这个一般情况下是一个状压DP的提示. 状态压缩 ...
- 【文文殿下】CF1029F Multicolored Markers
这道题考场上卡了文文相当长的时间,所以写个题解泄泄愤QAQ 题意:给你$a$块红瓷砖,$b$块白瓷砖,在一个无限大的地上拼装,要求整体是一个矩形,并且至少有一种颜色是一个矩形,求最小周长. 题解: 首 ...
随机推荐
- java中排序函数sort()使用,Arrays.sort()和Collections.sort()
Java中常用的数组或集合排序的方法有两个,一个是java.util.Arrays中的静态方法Arrays.sort(),还有一个是java.util.Collections中的静态方法的Collec ...
- 【Linux】DNS服务-BIND从服务器、缓存服务器及转发服务器配置(三)
环境 操作系统:CentOS 6.5 DNS软件:bind(安装参照:[Linux]DNS服务-BIND基础配置(二)) BIND从服务器 从服务器就是在bind的主配置文件中添加从域example. ...
- sql创建备份表和复制数据到备份表
1.复制表结构及数据到新表CREATE TABLE 新表 SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable; ...
- WebSocket 长连接 及超时问题解决
<?phpset_time_limit(0); class SocketService { private $address = 'localhost'; private $port = 80; ...
- s4-6 二层交换
为什么需要二层交换? 有很多LAN,如何将它们连接起来? 可用网桥(bridges )将它们连接起来. 网桥工作在DLL层,通过检查MAC地址做出转发帧的决策 不会检查网络层,所以,IPv ...
- excel2007VBA绘图2
'--------------------------------------------------------Module1------------------------------------ ...
- 总结一下《vue的使用》
1.用vue创建项目的时候, 1.安装axios,对axios进行处理,创建axios.js文件,设置基础请求地址, 设置前置守卫和独享守卫,对请求数据进行设置,(特别实在进行token验证的时候特别 ...
- Linux系统各发行版镜像下载(借阅)
Linux各个版本资源下载 Linux系统各发行版镜像下载(持续更新) == Linux系统各发行版镜像下载(2014年10月更新),如果直接下载不了,请使用迅雷下载.并且注意,我的下载地址,在 迅 ...
- UVa 11021 Tribles (概率DP + 组合数学)
题意:有 k 只小鸟,每只都只能活一天,但是每只都可以生出一些新的小鸟,生出 i 个小鸟的概率是 Pi,问你 m 天所有的小鸟都死亡的概率是多少. 析:先考虑只有一只小鸟,dp[i] 表示 i 天全部 ...
- Ng第十五课:异常检测(Anomaly Detection)
15.1 问题的动机 15.2 高斯分布 15.3 算法 15.4 开发和评价一个异常检测系统 15.5 异常检测与监督学习对比 15.6 选择特征 15.7 多元高斯分布(可选) 15 ...