hud1007 Quoit Design
#include<algorithm>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<cmath>
#include<ctime>
#include<queue>
#include<stack>
#include<map>
#include<set>
#define rre(i,r,l) for(int i=(r);i>=(l);i--)
#define re(i,l,r) for(int i=(l);i<=(r);i++)
#define Clear(a,b) memset(a,b,sizeof(a))
#define inout(x) printf("%d",(x))
#define douin(x) scanf("%lf",&x)
#define strin(x) scanf("%s",(x))
#define LLin(x) scanf("%lld",&x)
#define op operator
#define CSC main
typedef unsigned long long ULL;
typedef const int cint;
typedef long long LL;
using namespace std;
double f(const long double &a){return a*a;}
const double inf=;
void inin(int &ret)
{
ret=;int f=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=;ch=getchar();}
while(ch>=''&&ch<='')ret*=,ret+=ch-'',ch=getchar();
ret=f?-ret:ret;
}
struct xl
{
double x,y;
void in(){douin(x),douin(y);}
xl(double x=,double y=):x(x),y(y){}
bool op < (const xl &rhs)const {return x==rhs.x?y<rhs.y:x<rhs.x;}
};
xl di[];
int wocao[];
int n,top;
bool com(const int &a,const int &b)
{
return di[a].y<di[b].y;
}
double dis(const xl &a,const xl &b)
{
return sqrt(f(a.x-b.x)+f(a.y-b.y));
}
double mindis(int l,int r)
{
double ret=inf;
if(l==r)return ret;
if(r-l+<=)
{
re(i,l,r)re(j,i+,r)
ret=min(ret,dis(di[i],di[j]));
return ret;
}
int mid=(l+r)>>;
ret=min(mindis(l,mid),mindis(mid+,r));
top=;
re(i,l,r)
{
double temp=abs(di[mid].x-di[i].x);
if(temp<=ret)wocao[++top]=i;
}
sort(wocao+,wocao+top+,com);
re(i,,top)
re(j,i+,top)
{
if(di[wocao[j]].y-di[wocao[i]].y>=ret)break;
ret=min(ret,dis(di[wocao[i]],di[wocao[j]]));
}
top=;
return ret;
}
int main()
{
while(~scanf("%d",&n)&&n)
{
re(i,,n)di[i].in();
sort(di+,di+n+);
printf("%.2f\n",mindis(,n)/);
}
return ;
}
hud1007 Quoit Design的更多相关文章
- HDU 1007 Quoit Design(二分+浮点数精度控制)
Quoit Design Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- HDU1007 Quoit Design 【分治】
Quoit Design Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- 杭电OJ——1007 Quoit Design(最近点对问题)
Quoit Design Problem Description Have you ever played quoit in a playground? Quoit is a game in whic ...
- ACM-计算几何之Quoit Design——hdu1007 zoj2107
Quoit Design Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- (hdu 7.1.8)Quoit Design(最低点——在n一个点,发现两点之间的最小距离)
主题: Quoit Design Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- Quoit Design(最近点对+分治)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1007 Quoit Design Time Limit: 10000/5000 MS (Java/Oth ...
- Quoit Design(hdu1007)最近点对问题。模版哦!
Quoit Design Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- ZOJ 2017 Quoit Design 经典分治!!! 最近点对问题
Quoit Design Time Limit: 5 Seconds Memory Limit: 32768 KB Have you ever played quoit in a playg ...
- poj 1007 Quoit Design(分治)
Quoit Design Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
随机推荐
- vue-3.0创建项目
.npm install --global @vue/cli .npm install -g @vue/cli-init .vue init webpack my-project
- poj3278 Catch That Cow(简单的一维bfs)
http://poj.org/problem?id=3278 ...
- 用python 替换文件中的git地址
有个需求要替换文件中git地址,要替换成的git地址是一个变量 本来想用sed替换但是git地址中有斜杠符号 需要转义,提前知道还好弄,如果是变量就不好处理了 #!/usr/bin/python3 # ...
- 【Redis】持久化
Redis提供了为持久化提供了两种方法:第一种是快照:他可以将存在某一时刻的所有数据都写入硬盘里面.第二种是只追加文件(AOF):它会在执行命令时,将被执行的写命令复制到硬盘里面. Redis支持持久 ...
- 使用MySQL的mysqldump命令备份数据库和把数据库备份文件恢复
1,备份数据库 mysql -uroot -p123456 db_name > /root/db_name.dump 2,数据库备份文件恢复 mysql -uroot -p123456 db_n ...
- android 通过页面上关键字快速定位代码
这里定位微信关于页面, 当然可以直接获取当前最顶层activity 反编译apk后 搜索 strings.xml,找到对应id 搜索文件到用到id对应的成员变量,通常 是在R*.smali文件中 字符 ...
- 从零开始一起学习SLAM | 相机成像模型
上一篇文章<从零开始一起学习SLAM | 为啥需要李群与李代数?>以小白和师兄的对话展开,受到了很多读者的好评.本文继续采用对话的方式来学习一下相机成像模型,这个是SLAM中极其重要的内容 ...
- UGUI之Slider使用,制作血条
用Slider来控制Cube旋转 Slider是滑动条.
- unity3d 第一人称脚本解释MouseLook
using UnityEngine; using System.Collections; /// MouseLook rotates the transform based on the mouse ...
- HBase针对性问题汇总
Q: Hbase的rk设计,Hbase优化 a\rowkey:hbase三维存储中的关键(rowkey:行键 ,columnKey(family+quilaty):列键 ,timestamp ...