这个是正确的算法,但是复杂度可能会卡到 $O(n^2)$ ,加上每个点最多匹配的临近点最多15个/30个限制的话复杂度就可以保证了,最多就再做一次增加正确的几率,我确实不行从头到尾都是随机的怎么有人卡得掉。 cpp include using namespace std; const double ...
分类:
其他好文 时间:
2019-09-13 11:03:41
阅读次数:
104
题目链接:https://vjudge.net/problem/POJ-3714 题意:给定两个点集,求最短距离。 思路:在平面最近点对基础上加了个条件,我么不访用f做标记,集合1的f为1,集合2的f为-1,那么求两个点的距离时,如果a.f*b.f=-1时计算距离,否则乘积为1的话返回inf。其它就 ...
分类:
其他好文 时间:
2019-08-26 13:12:55
阅读次数:
72
$AcWing$ $Sol$ 平面最近点对板子题,注意要求的是两种不同的点之间的距离. $Code$ #include<bits/stdc++.h> #define il inline #define Rg register #define go(i,a,b) for(Rg int i=a;i<=b ...
平面最近点对板子, 一个有趣的分治 还挺好写的... c++ include include include include using namespace std; const int maxn=100005; typedef pair pd; pd A[maxn]; pd B[maxn]; pd ...
分类:
其他好文 时间:
2019-07-27 22:26:40
阅读次数:
114
平面最近点对 给平面上 $N$ 个点,求最近点对之间距离。 $1\le N\le 2\cdot 10^5$. 题解: 考虑用分治解决。 将所有坐标按 $x$ 排序,分治求出两边的最小答案 $ans$ 。对答案有贡献的点,横坐标与中间点横坐标的差值不超过 $ans$ . 把这些点拉出来按 $y$ 排序 ...
分类:
其他好文 时间:
2019-02-28 21:11:19
阅读次数:
135
平面最近点对,以后再也不用vector了!会t。。。 #include<iostream> #include<algorithm> #include<vector> #include<cmath> using namespace std; const int N=200010; const doub ...
分类:
其他好文 时间:
2018-12-19 19:39:42
阅读次数:
158
题目描述 给定平面上n个点,找出其中的一对点的距离,使得在这n个点的所有点对中,该距离为所有点对中最小的 输入输出格式 输入格式: 第一行:n;2≤n≤200000 接下来n行:每行两个实数:x y,表示一个点的行坐标和列坐标,中间用一个空格隔开。 输出格式: 仅一行,一个实数,表示最短距离,精确到 ...
分类:
其他好文 时间:
2018-12-14 17:22:03
阅读次数:
160
传送门 调半个晚上...一个板子整这么慢 之前网上一直没看明白 今天终于完事了 首先分治很容易想到 这里按x分 考虑暴力的复杂度极限 就是所有的点到中线距离相等 可以看出上下相距很远的点显然不对 那么这个很远是什么呢 是不是大于当前答案d的都可以舍去.. 所以我们可以对于到中线的距离小于d的每个点找 ...
分类:
其他好文 时间:
2018-11-28 22:15:45
阅读次数:
213
题目描述 给定平面上n个点,找出其中的一对点的距离,使得在这n个点的所有点对中,该距离为所有点对中最小的 输入输出格式 输入格式: 第一行:n;2≤n≤200000 接下来n行:每行两个实数:x y,表示一个点的行坐标和列坐标,中间用一个空格隔开。 输出格式: 仅一行,一个实数,表示最短距离,精确到 ...
分类:
其他好文 时间:
2018-11-06 16:45:03
阅读次数:
258
"P1429 平面最近点对(加强版)" 题意 题目描述 给定平面上$n$个点,找出其中的一对点的距离,使得在这$n$个点的所有点对中,该距离为所有点对中最小的。 输入输出格式 输入格式: 第一行:$n$;$2\leq n\leq 200000$ 接下来$n$行:每行两个实数:$x\ y$,表示一个点 ...
分类:
其他好文 时间:
2018-11-01 12:04:02
阅读次数:
210