喷水装置(一)

时间限制:3000 ms  |  内存限制:65535 KB
难度:3
描述
现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0<Ri<15)的圆被湿润,这有充足的喷水装置i(1<i<600)个,并且一定能把草坪全部湿润,你要做的是:选择尽量少的喷水装置,把整个草坪的全部湿润。

输入
第一行m表示有m组测试数据
每一组测试数据的第一行有一个整数数n,n表示共有n个喷水装置,随后的一行,有n个实数ri,ri表示该喷水装置能覆盖的圆的半径。
输出
输出所用装置的个数
样例输入
2
5
2 3.2 4 4.5 6
10
1 2 3 1 2 1.2 3 1.1 1 2
样例输出
2
5
根据日常生活知道,选择半径越大的装置,所用的数目越少。因此,可以先对半径排序,然后选择半径大的。另外,当装置刚好喷到矩形的顶点时,数目最少。此时只要装置的有效喷水距离的和不小于20时,输出此时的装置数目即可。
AC代码:
#include<stdio.h>
#include<math.h>
int main()
{double r[600],w,t;int m,n,i,j,count;scanf("%d",&m);while(m--){scanf("%d",&n);for(i=0;i<n;i++)scanf("%lf",&r[i]);for(i=0;i<n;i++)for(j=i+1;j<n;j++)if(r[i]>r[j]){t=r[i];r[i]=r[j];r[j]=t;}count=0;w=20;for(i=n-1;w>=0;i--){w=w-2*sqrt(r[i]*r[i]-1);count++;}printf("%d\n",count);}return 0;
}

NYOJ 6 喷水装置(一) 贪心算法 之 区间覆盖问题相关推荐

  1. 贪心算法无重叠区间c语言,贪心算法之区间问题.md

    --- title: 贪心算法之区间问题 tags: - Leetcode categories: - Leetcode author: 四叶草 top: false abbrlink: 26230 ...

  2. 贪心算法之区间取点问题

    贪心算法之区间取点问题 题目描述: Assume the coasting is an infinite straight line. Land is in one side of coasting, ...

  3. 贪心算法:区间调度-射气球问题

    贪心算法:区间调度问题 母问题描述: 在一个会场中,安排活动,给定所有活动的开始时间与结束时间的集合放在数组nums[n][2]中.求问最多能安排几场活动,使每场活动之间的时间不冲突. public ...

  4. 贪心算法【区间调度】【背包问题】【集合覆盖】【旅行商问题】【哈夫曼构造价值树】

    贪心算法  在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解.  贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择, ...

  5. 三类基于贪心思想的区间覆盖问题

    一.区间完全覆盖问题 问题描述:给定一个长度为m的区间,再给出n条线段的起点和终点(注意这里是闭区间),求最少使用多少条线段可以将整个区间完全覆盖. 样例:一个长度为8的区间,可选的线段有[2,6], ...

  6. Algorithm:贪心策略之区间覆盖问题

    Describe: 给定一个大区间1-T,以及n个小区间,要求用最少个数的小区间来覆盖大区间: Input: 第一行,输入n和T: 随后n行输入对应区间的起始终止坐标 Output: 输出覆盖区间1- ...

  7. 贪心算法:集合覆盖问题

    文章目录 贪心算法 教室调度问题 背包问题 集合覆盖问题 NP完全问题 总结 贪心算法 贪心算法是一种解决问题的思路:每一步选择局部最优解,最终也许不会得到最优结果,但是也会接近最优结果. 贪心算法具 ...

  8. 贪心算法——合并区间(Leetcode 56)

    题目选自Leetcode56 思路 大家应该都感觉到了,此题一定要排序,那么按照左边界排序,还是右边界排序呢? 都可以!排序之后就是贪心思想了~~ 题目 给出一个区间的集合,请合并所有重叠的区间. 示 ...

  9. 算法基础复盘笔记Day12【贪心算法】—— 区间问题、Huffman树、排序不等式、绝对值不等式、推公式

    ❤ 作者主页:欢迎来到我的技术博客

最新文章

  1. 怎么在vs2010中使用ActiveX Test Container(转)
  2. Ajax请求全局配置
  3. android url webview,android - webview获取到当前页面的url
  4. Vue如何获取当前时间
  5. 超实用!K8s 开发者必须知道的 6 个开源工具
  6. 定义一个圆类——Circle,在类的内部提供一个属性:半径(r),同时 提供 两个 方 法 : 计算 面积 ( getArea() ) 和 计算 周长(getPerimeter()) 。
  7. perl 安装GD 出错解决方案
  8. linux查看r的安装路径,在Linux CentOS 6.5版上安装R3.1.1的问题(检查LDFLAGS以获取Fortran库的路径)...
  9. 中台是个筐,啥都往里装?
  10. MONGODB 与sql聚合操作对应图
  11. SimpleXML系列函数操作XML
  12. Assetbundle coustomerScripts
  13. 35-BigDecimal详解
  14. 【超图+CESIUM】【基础API使用示例】45、超图|CESIUM - 点光源设置
  15. php自我介绍50字,简短自我介绍50字
  16. 批处理文件获取计算机ip,批处理获取本机IP地址及MAC地址,输出到文件
  17. 别再让「聪明」害了00后!
  18. JavaSE进阶之(十)Map 子接口之 ConcurrentHashMap
  19. android 扫码枪 字符数少掉,BarTender条码字符数莫名变少是怎么回事?
  20. 网页+微信小程序UI设计及前端开发(第二周)

热门文章

  1. 不是你无法入门自然语言处理(NLP),而是你没找到正确的打开方式
  2. 想要做服务类APP,先来看看独立商城系统开发方案
  3. NoSQL Databases - CouchDB
  4. 网络学习(二十七)Windows XP 加入 Windows Server 2003 Active Directory
  5. 【转载】手把手教你配置Windows2003集群(图)
  6. ISA2006的部署
  7. 如果你有15M 你会投到那些项目上上面呢?机会-可行性模型帮助你
  8. 人和计算机在时间管理方面的相似性
  9. 在苏州的一个超级棒的事情
  10. yii2和laravel比较