半径R覆盖最多点
struct point {
double x, y;
};
point p[N];
struct alpha {
double v;
bool flag;
bool friend operator <(const alpha &a, const alpha &b) {
return a.v < b.v;
}
} alp[N * ];
double dis(point a, point b) {
return sqrt((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y));
}
int n,s;
bool judge(double R) {
int ans = ;
double theta, phi, dist;
for(int i = ; i < n; i++) {
int k = ;
for(int j = ; j < n; j++) {
if(i == j) continue;
dist = dis(p[i], p[j]);
if(dist > 2.0 * R)
continue;
theta = atan2(p[j].y - p[i].y, p[j].x - p[i].x);
if(theta < )
theta += * pi;
phi = acos(dist / (2.0 * R));
alp[k].v = theta - phi + * pi;
alp[k].flag = true;
alp[k + ].v = theta + phi + * pi;
alp[k + ].flag = false;
k += ;
}
sort(alp, alp + k);
int sum = ;
for(int j = ; j < k; j++) {
if(alp[j].flag)
sum ++;
else
sum --;
if(sum > ans)
ans = sum;
}
}
return ans + >= s;//ans+1 为最多点
}
半径R覆盖最多点的更多相关文章
- HDU 1883 Phone Cell (圆覆盖最多点)
题目链接 题意 : 给你很多点和一个半径r,这个半径为r的圆能覆盖的最多的点是多少. 思路 : 对每个点做半径为 r 的圆, 求交集,交集最多的区域的被覆盖次数就是能覆盖的最多的点.贴两个链接,分析的 ...
- 已知圆上三个点坐标,求圆半径 r 和 圆心坐标
问题: 已知圆上三个点坐标分别为(x1,y1).(x2,y2).(x3,y3) 求圆半径R和圆心坐标(X,Y) X,Y,R为未知数,x1,y1,x2,y2,x3,y3为常数 则由圆公式:(x1-X)² ...
- C# - 习题06_从键盘输入半径r,求出圆的面积
时间:2017-08-24 整理:byzqy 题目:编写一个程序,定义常量 Pi = 3.14159265 , 从键盘上输入半径 r ,求出圆的面积. 代码如下: 1 using System; 2 ...
- Comet OJ 茶颜悦色 线段树+扫描线(矩形覆盖最多点+优化)
题目:https://www.cometoj.com/contest/59/problem/D?problem_id=2713 题意:给你一个正方形,然后给你n个点,这个正方形能随意放哪,要求那个正方 ...
- hdu 5091 给定矩形覆盖尽量多点 扫描线+线段树
http://acm.hdu.edu.cn/showproblem.php?pid=5091 给你10000以内的敌舰的坐标(即分别为x,y),要求用W*H的矩形去围住一个区域,使得这个区域内的敌舰最 ...
- poj 1981(单位圆覆盖最多点问题模板)
Circle and Points Time Limit: 5000MS Memory Limit: 30000K Total Submissions: 7327 Accepted: 2651 ...
- 一个半径R质量m的均匀圆盘,绕其边缘且垂直的轴摆动,求摆动周期
- bzoj1338: Pku1981 Circle and Points单位圆覆盖
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1338 1338: Pku1981 Circle and Points单位圆覆盖 Time ...
- POJ 3525 Most Distant Point from the Sea (半平面交向内推进+二分半径)
题目链接 题意 : 给你一个多边形,问你里边能够盛的下的最大的圆的半径是多少. 思路 :先二分半径r,半平面交向内推进r.模板题 #include <stdio.h> #include & ...
随机推荐
- composer命令介绍之install和update及其区别
composer 是 php 的一个依赖管理工具.它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们. 然而,对于如何『安装他们』,新手可能并不清楚.网上的答案有的说 composer in ...
- CSS3彩色进度条加载动画 带进度百分比
在线演示 本地下载
- RPC框架调用过程详解
RPC框架调用过程详解 2017年09月16日 21:14:08 荷叶清泉 阅读数 6275 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. ...
- StandardWrapper
Tomcat中有四种类型的Servlet容器,分别是 Engine.Host.Context.Wrapper,每个Wrapper实例表示一个具体的Servlet定义,StandardWrapper就是 ...
- Java排序--排序算法(内排序)
常用内排序算法 我们通常所说的排序算法往往指的是内部排序算法,即需要排序的数据在计算机内存中完成整个排序的过程,当数据率超大或排序较为繁琐时常借助于计算机的硬盘对大数据进行排序工作,称之为外部排序算法 ...
- leetcode 1267. Count Servers that Communicate
You are given a map of a server center, represented as a m * n integer matrix grid, where 1 means th ...
- maven学习之路二(2)
上次我介绍到mybaties generator 这款mybaties的插件.这次我简单介绍下这款插件: <plugin> <groupId>org.mybatis.gener ...
- mysql总结1
修改表名:alter table table_name rename new_table_name; 添加字段:alter table table_name add column_name type_ ...
- 白盒测试之JUnit与SpringTest的完美结合
通过白盒的单元测试可以验证程序基本功能的有效性,从而保证整个系统的质量,功在一时,利在千秋.目前80%以上公司后台还是基于java,尤其是后台大量采用Spring框架,我们这里采用Junit和Spri ...
- Vue基础组件
本文章仅用作于个人学习笔记(蓝后我就可以乱写啦)复制代码 一.组件化的优点当TodoList的todo item越来越多的时候,我们应该把它拆分成一个组件进行开发,维护.组件的出现,就是为了拆分Vue ...