nyoj 287(区间覆盖)
来源:互联网 发布:编程常用的算法 编辑:程序博客网 时间:2024/06/05 19:57
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=287
解题思路:首先求出来每个点的临界区域,即这个圆心能够将其覆盖的范围。。。求出了每个点的覆盖区域,那么问题就转化为区间的覆盖问题了。。。在算重叠的部分花了好长的时间而且还没有写好,还是没有把出现的情况讨论清楚。。。
AC:
#include<iostream>#include<cstdio>#include<cmath>#include<algorithm>using namespace std;struct node{double left,right;}a[1005];bool cmp(node a,node b){return a.left < b.left;}int main(){int n,d,cas = 1;bool flag;while(scanf("%d%d",&n,&d)!=EOF && n + d){flag = false;for(int i = 0; i < n; i++){int x,y;scanf("%d%d",&x,&y);double tmp = double(d*d - y*y);if(tmp >= 0){tmp = sqrt(tmp);a[i].left = x - tmp;a[i].right = x + tmp;}else flag = true;}if(flag){printf("Case %d: -1\n",cas++);continue;}sort(a,a+n,cmp);int cnt = 1;double t = a[0].right;for(int i = 1; i < n; i++){if(a[i].left > t){cnt++;t = a[i].right;}else{if(a[i].right < t)t = a[i].right;}}printf("Case %d: %d\n",cas++,cnt);}return 0;}
0 0
- nyoj 287(区间覆盖)
- nyoj+区间覆盖贪心
- nyoj 12(区间覆盖)
- NYOJ 12 变相 最小区间覆盖问题
- nyoj 168 房间安排 【区间覆盖】
- NYOJ房间安排(区间覆盖)
- NYOJ squares(计算几何+区间覆盖)
- nyoj 12 喷水装置(二) 贪心 区间覆盖
- NYOJ 喷水装置(二)(区间覆盖)
- NYOJ 12 喷水装置(二)【贪心+区间覆盖】
- NYOJ-12 喷水装置2(贪心 区间覆盖)
- NYOJ-14 会场安排问题(贪心 区间覆盖)
- nyoj 287 Radar 【区间选点】
- nyoj 12 喷水装置(二)【贪心】+【区间完全覆盖覆盖】
- 区间覆盖
- 区间选点+区间覆盖
- nyoj 287 radar (区间选点)
- NYOJ 287 Radar 贪心之 区间选点
- copy(浅拷贝-指针拷贝)和mutableCopy(深拷贝-内容拷贝)
- 20160210-2
- 在sublimetxt3中中安装emmet插件
- Laravel (Lumen) 中使用JWT-Auth刷新token的问题
- 1174 区间中最大的数
- nyoj 287(区间覆盖)
- 169. Majority Element LeetCode
- Android提高应用的安全性, 禁止屏幕截图
- Material Design学习
- 1021. 个位数统计 (15)
- cocos2d-x核心概念(五)——事件
- 顺序表应用2:多余元素删除之建表算法
- 235. Lowest Common Ancestor of a Binary Search Tree LeetCode
- Mysql-5.6与Hibernate结合中文乱码