博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 1007 平面上最近点对 分治
阅读量:7250 次
发布时间:2019-06-29

本文共 928 字,大约阅读时间需要 3 分钟。

思路:

分治

套路题

//By SiriusRen#include 
#include
#include
using namespace std;const int N=100050;typedef double db;int n;struct P{db x,y;P(){}P(db X,db Y){x=X,y=Y;}}p[N],t[N];P operator-(P a,P b){
return P(a.x-b.x,a.y-b.y);}db dis(P a){
return sqrt(a.x*a.x+a.y*a.y);}bool cmp(P a,P b){
return a.x
>1,tp=0; db d=min(solve(l,mid),solve(mid+1,r)); for(int i=l;i<=r;i++)if(p[i].x>=p[mid].x-d&&p[i].x<=p[mid].x+d)t[++tp]=p[i]; sort(t+1,t+1+tp,cmp2); for(int i=1;i<=tp;i++){ for(int j=i+1;j<=tp;j++){ if(t[j].y>=t[i].y+d)break; d=min(d,dis(t[i]-t[j])); } } return d;}int main(){ while(scanf("%d",&n)&&n){ for(int i=1;i<=n;i++)scanf("%lf%lf",&p[i].x,&p[i].y); sort(p+1,p+1+n,cmp); printf("%.2lf\n",solve(1,n)/2); }}

 

转载于:https://www.cnblogs.com/SiriusRen/p/9389562.html

你可能感兴趣的文章
Python爬虫(一)爬百度贴吧
查看>>
QT学习之QString
查看>>
javascript 面向对象编程(一):封装
查看>>
vim常用指令及快捷键(持续更新)
查看>>
php hash函数
查看>>
链表的基本操作
查看>>
统计日志10分钟内出现的次数
查看>>
python开发函数进阶:内置函数
查看>>
sssssss
查看>>
责任链模式实例:扣除用户金币/写入金币明细/发送消息
查看>>
4.09.3
查看>>
Silverlight之布局
查看>>
今天去参加了“欧特克高端影视动画解决方案研讨会”
查看>>
fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit
查看>>
python中type、object与class之间关系(一切皆对象)
查看>>
Delphi中ShellExecute的妙用
查看>>
汽车常识全面介绍 - 安全防护
查看>>
26/02/2009 ECONOMICS REPORT - Obama Proposes $3.5 Trillion Budget for 2010
查看>>
Installing GCC 简单方法
查看>>
Thinkphp中验证码不显示解决办法
查看>>