题意:一个单位圆最多能覆盖平面上多少点。

解题思路:一个覆盖最多点的圆,必然至少有两个点在圆上。枚举两个点,求过这两个点的单位圆,判断有多少个点在圆中,枚举N^2,判断N

参考博客:http://www.cnblogs.com/-sunshine/archive/2012/10/11/2719859.html

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;const int maxn = 305;
const double eps = 1e-8;
struct Point
{double x,y;Point(){}Point(double _x,double _y){x = _x, y = _y;}
}p[maxn];
int n;double dis(Point p1,Point p2)
{return sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));
}Point get_circle(Point p1,Point p2)
{Point mid = Point((p1.x+p2.x)/2,(p1.y+p2.y)/2);double angle = atan2(p1.x-p2.x,p2.y-p1.y);double d = sqrt(1-dis(p1,mid)*dis(p1,mid));return Point(mid.x+d*cos(angle),mid.y+d*sin(angle));
}int main()
{while(scanf("%d",&n),n){for(int i = 0; i < n; i++)scanf("%lf%lf",&p[i].x,&p[i].y);int ans = 1;for(int i = 0;i < n; i++){for(int j = i + 1; j < n; j++){if(dis(p[i],p[j]) > 2.0) continue;Point central = get_circle(p[i],p[j]);int cnt = 0;for(int k = 0;k < n; k++)if(dis(central,p[k]) < 1.0 + eps)cnt++;ans=max(ans,cnt);}}printf("%d\n",ans);}return 0;
}

poj 1981(单位圆覆盖点)相关推荐

  1. Circle and Points POJ - 1981(单位圆覆盖最多点)

    题意: 给你n个点和点的位置,问单位圆最多能覆盖多少个点. 题目: You are given N points in the xy-plane. You have a circle of radiu ...

  2. POJ 计算几何入门题目推荐

      其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中.之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的算法,在很多领域有着重要的用途(例如本人的专 ...

  3. [Z]POJ 计算几何入门题目推荐[转PKKJ]

    http://www.cnblogs.com/eric-blog/archive/2011/05/31/2064785.html http://hi.baidu.com/novosbirsk/blog ...

  4. poj计算几何题推荐

    POJ 计算几何入门题目推荐(转)       其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中.之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的 ...

  5. poj 计算几何 分类

    转自novosbirsk的空间,上面还有很多有用的东西. 计算几何题的特点与做题要领: 1.大部分不会很难,少部分题目思路很巧妙 2.做计算几何题目,模板很重要,模板必须高度可靠. 3.要注意代码的组 ...

  6. POJ 计算几何入门题目推荐(转)

    POJ 计算几何入门题目推荐(转)       其实也谈不上推荐,只是自己做过的题目而已,甚至有的题目尚未AC,让在挣扎中.之所以推荐计算几何题,是因为,本人感觉ACM各种算法中计算几何算是比较实际的 ...

  7. ACM计算几何题目推荐

    //第一期 计算几何题的特点与做题要领: 1.大部分不会很难,少部分题目思路很巧妙 2.做计算几何题目,模板很重要,模板必须高度可靠. 3.要注意代码的组织,因为计算几何的题目很容易上两百行代码,里面 ...

  8. 备战ccpc分站赛:秦皇岛和威海站(数论模块和dp模块)

    挑战程序设计竞赛(第2版)练习题 tips:难度(个人主观判断): 简单* 简单但卡思维 ** 中 *** 中稍加思考 **** 难 ***** 1 . 记录结果再利用的"动态规划" ...

  9. 计算几何相关资料+题目推荐(不定期补充)

    旋转卡壳:http://blog.csdn.net/accry/article/details/6070626 计算几何题目推荐:http://blog.csdn.net/accry/article/ ...

最新文章

  1. 使用Dockerfile定制镜像来部署Tomcat项目
  2. DCMTK:测试ConcatenationCreator类
  3. 配置WCF同时支持WSDL和REST,swaggerwcf生成文档
  4. 巧用异或运算符(洛谷P1161题题解,Java语言描述)
  5. java执行多次post请求_同样的post请求代码在Java和android中执行结果不同。
  6. MetadataCache分析
  7. Springboot 使用校验框架validation校验
  8. 中国加热棒行业市场供需与战略研究报告
  9. 第八届蓝桥杯java b组第十题
  10. python requests session_Python requests模块session代码实例
  11. ThinkPHP---案例1登录登出和添加部门
  12. 面向对象---大纲笔记
  13. 埃默里大学计算机值得读吗,埃默里大学计算机科学-生物统计学硕士研究生怎么样?好不好...
  14. Enterprise Architect使用教程
  15. Ckeditor5 整合Ckfinder3 防出错实战教程(二)整合篇
  16. 计算机启动相机代码,如何在win7系统中启动相机
  17. 最基本的几种 CSS 文字滤镜效果 - 蓝色理想
  18. 揭密备份恢复的原理!
  19. 2、SpringBoot接口Http协议开发实战8节课(7-8)
  20. 我的创业你也可以复制:财务做账中常见的问题

热门文章

  1. 节前福利 | 三位大佬带你从客户成功、销售、市场端打造 To B 运作体系 !
  2. React Native之AppRegistry模块
  3. FILE 结构体的定义,inode ,软链接和硬链接的理解
  4. 如何判断塑料制品可不可以装热水
  5. Hungtingdon road surgery
  6. 我认为视频内容不会取代文字内容的原因
  7. Win7与其它Windows的双系统问题
  8. GTK+ VS MFC
  9. Linux共享内存(二)
  10. 图片压缩处理的一个可行解决方法【OC】