关于题目的“加强版”

P1429 平面最近点对(加强版)

@[YuRuochen](/user/658786) [猜你想找](https://www.luogu.com.cn/problem/P7883)。
by bai_tang @ 2022-10-28 20:49:08


@[YuRuochen](/user/658786) 原版是纯暴力都能过。
by Sprague_Garundy @ 2022-10-28 20:49:24


搞出来了一份贼快的: ```cpp #include<bits/stdc++.h> using namespace std; int n; struct Node{ int x,y; } node[200010]; long long mins=1e18; bool cmp(Node a,Node b){ return a.x<b.x; } long long dis(int a,int b){ return (long long)(node[a].x-node[b].x)*(node[a].x-node[b].x)+(long long)(node[a].y-node[b].y)*(node[a].y-node[b].y); } int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d%d",&node[i].x,&node[i].y); sort(node+1,node+n+1,cmp); for(int i=1;i<n;i++){ mins=min(mins,dis(i,i+1)); if(i+1<n) mins=min(mins,dis(i,i+2)); if(i+2<n) mins=min(mins,dis(i,i+3)); } printf("%.4lf",sqrt(mins)); return 0; } ```
by YuRuochen @ 2022-10-28 20:50:09


什么人类智慧
by creation_hy @ 2022-12-10 19:25:18


|