平面欧几里得最小生成树
题目描述
平面上有 $n$ 个点,第 $i$ 个点坐标为 $(x_i, y_i)$。连接 $i, j$ 两点的边权为 $\sqrt{(x_i - x_j) ^ 2 + (y_i - y_j) ^ 2}$。求最小生成树的边权之和。
输入输出格式
输入格式
第一行一个整数 $n$。
接下来 $n$ 行,每行输入两个整数 $x_i, y_i$。
输出格式
输出一行一个实数,表示答案。
当你的答案与标准输出的绝对误差或相对误差在 $10^{-6}$ 内时,就会被视为正确。
输入输出样例
输入样例 #1
4
0 0
1 2
-1 2
0 4
输出样例 #1
6.472136
说明
#### 样例解释 1
该样例中,最小生成树如下图所示:
![](https://cdn.luogu.com.cn/upload/image_hosting/p0dtxt2l.png)
边权之和为 $2 \sqrt{5} + 2 \approx 6.47213595500$。
---
#### 数据规模与约定
- 对于 $50\%$ 的数据,$n \le 5000$。
- 对于 $100\%$ 的数据,$3 \le n \le 10 ^ 5$,$\lvert x_i \rvert, \lvert y_i \rvert \le 10 ^ 5$。