问题

https://vjudge.net/problem/UVA-10382

分析

将一个点的覆盖范围看作是一个长方形,舍弃弓形区域,变成区间覆盖问题,用贪心法
注意:bb-ww/4有可能小于0,要筛出

#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <map>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
typedef long long LL;
const int maxn=10000+5;
const double eps=1e-6;
struct spr{double L,R;bool operator < (const spr &rhs) const {return L<rhs.L;}
}sprs[maxn];
int n,kase=0,cnt;
double l,w,a,b;
int main(void){while(scanf("%d%lf%lf",&n,&l,&w)==3){cnt=0;for(int i=0;i<n;++i){scanf("%lf%lf",&a,&b);if(b<=w/2+eps) continue;double t=sqrt(b*b-w*w/4);sprs[cnt].L=a-t;sprs[cnt].R=a+t;++cnt;}sort(sprs,sprs+cnt);int ans=0,i=0;double right=0,maxr=0;while(true){for(;i<cnt;++i){if(sprs[i].L<right+eps){maxr=max(maxr,sprs[i].R);}else break;}if(maxr-right>eps) {++ans;right=maxr;}else break;if(right>l-eps) break;}if(right>l-eps) printf("%d\n",ans);else printf("-1\n");}return 0;
}

Watering Grass UVA - 10382 贪心相关推荐

  1. Watering Grass UUV 1038 贪心

    问题: n sprinklers are installed in a horizontal strip of grass l meters long and w meters wide. Each ...

  2. UVA10382 - Watering Grass 题解

    原题链接 Online Judge: 10382 - Watering Grass Virtual Judge: Watering Grass - UVA 10382 洛谷:UVA10382 Wate ...

  3. UVa 10382 - Watering Grass

    链接: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=113&pa ...

  4. UVa10382 - Watering Grass(贪心算法)

    问题:给出一个长为l,宽为w的绿化带,n个喷水装置及其对就位置x和影响半径r.问最少需要多少个喷水装置能全覆盖此绿化带 思路:首先要计算喷水装置可以覆盖的区间,如果喷水装置的影响半径小于等于w/2,是 ...

  5. *【UVA - 10382】Watering Grass(贪心,区间覆盖问题,思维)

    题干: 题目大意: 有一块草坪,长为l,宽为w,在它的水平中心线上有n个位置可以安装喷水装置,各个位置上的喷水装置的覆盖范围为以它们自己的半径ri为圆.求出最少需要的喷水装置个数,如果无论如何都不能覆 ...

  6. 10382 - Watering Grass(贪心 区间覆盖问题)洒水面覆盖

    double qiuzhi(int id) {double t1=cc[id].rid*cc[id].rid;double t2=w*w/4;double t3=t1-t2;double t4=sqr ...

  7. UVa-10382 Watering Grass **

    /* * Uva-10382-Watering Grass.cpp * 特别注意精度..(感觉这道题的判题有问题,开始怎么交都WA,,过两天什么都没改,再交就AC了 , 汗.. * * 详细代码注释: ...

  8. Watering Grass——UVA10382

    题目 n sprinklers are installed in a horizontal strip of grass l meters long and w meters wide. Each s ...

  9. uva10382 - Watering Grass

    题目大意:输入n,l,w.分别代表有n个喷水装置,草地长为L,宽为W:接下来n行,每行两个数,a,r,分别代表喷水装置在草地中的横坐标,和喷水半径.喷水装置的纵坐标都是草地的正中央.求用最少的喷水装置 ...

最新文章

  1. 浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式 pth中的路径加载使用
  2. Android NDK编程小试---实现java和c语言的互掉
  3. hdu 5493 Queue(逆序对,线段树)
  4. ASP.NET服务器控件数据绑定总结
  5. cpuz北桥频率和内存频率_DDR4的内存频率是如何计算的?
  6. python图形用户界面pyside_PySide——Python图形化界面入门教程(一)
  7. 夫妻两人同一个银行各自存50万,银行破产了该赔多少?
  8. Java——多线程使用详解
  9. leetCode 6. ZigZag Conversion 字符串 (上传费劲)
  10. 18.外部相机校准——介绍,几何相机校正,自由度 测验,刚体变换,符号_1
  11. 理解这几个安全漏洞,你也能做安全测试【干货建议收藏】
  12. gt1151触摸驱动调试
  13. 微信小程序保存图片到相册
  14. 苹果按键强制恢复出厂_【数码】苹果手机忘了解锁密码不要慌,你可以这样做!...
  15. 《灵飞经》②东岛门人 第一章 倩女灵苏
  16. hadoop3新特性
  17. 生成订单:三个表(Products,Orders,OrderItem)
  18. Jenkins的安装及使用
  19. 新建springboot项目一直转圈圈
  20. 天然气阶梯是按年还是按月_天然气阶梯价是按年算还是月算

热门文章

  1. apk 路由器劫持_各种路由器固件劫持方法(待完善)
  2. php 井字棋,怎样用JS做出井字棋游戏
  3. nyoj 1的个数 514 (数学)
  4. 正则表达式的介绍及应用
  5. webuploader 实现图片批量上传功能附实例代码
  6. Promise的理解
  7. 1044 mysql_MYSQL 有ERROR 1044
  8. 老板让我做研发负责人,谈谈我的想法和认知
  9. 快速入门Spring之SpringIOC
  10. GitHub各种加速方式