#P8191. [USACO22FEB] Moo Network G

[USACO22FEB] Moo Network G

题目描述

Farmer John's NN cows (1N105)(1≤N≤10^5) are spread far apart on his farm and would like to build a communication network so they can more easily exchange electronic text messages (all of which of course contain variations of "moo").

The ith cow is located at a distinct location (xi,yi)(x_i,y_i) where 0xi1060≤x_i≤10^6 and 0yi100≤y_i≤10. The cost of building a communication link between cows ii and jj is the squared distance between them: (xixj)2+(yiyj)2(x_i-x_j)^2+(y_i-y_j)^2.

Please calculate the minimum cost required to build a communication network across which all the cows can communicate. Two cows can communicate if they are directly connected by a link, or if there is a sequence of links along which their message can travel.

Note: the time limit for this problem is 4s, twice the default.

输入格式

The first line of input contains NN, and the next NN lines each describe the xx and yy coordinates of a cow, all integers.

输出格式

Please output the minimum cost of a network that will allow all cows to communicate. Note that this cost might be too large to fit into a 32-bit integer and may require use of 64-bit integers (e.g., "long long" integers in C++).

题目大意

题目描述

农夫约翰有 NN 头牛(1N1051\le N\le10^5) 它们在农场里分布的极其的远,因此希望你建立一个通讯网络,便于它们更容易地交换电子短信(当然,这些短信都包含 moo 的变形体,即数字)

ii 头牛位于位置 (xiyi)(x_i,y_i) 其中 0x1060\le x\le 10^6, 0y100\le y\le 10. 在牛 ii 与牛 jj 之间建立通信链路的成本是它们之间的欧几里德距离的平方,即 (xixj)2+(yiyj)2(x_i-x_j)^2+(y_i-y_j)^2

请聪明的你构建一个所有奶牛都能交流的最低成本的通信网络。如果两头奶牛通过一条链接直接连接或者它们的信息可以沿着一条链接传播,那么认为他们可以通信。

注意 此问题时间限制为4秒

输入格式

第一行输入为 NN,接下来 NN 行分别描述奶牛的位置 (x,y)(x,y) 均为整数

输出格式

请输出允许所有奶牛通信的网络的最低成本。请注意,此开销可能太大,无法放入 32 位整数中,并且可能需要使用 64 位整数(例如,C++中的“long long”)。

说明/提示

测试点 2~3 满足 N1000N\le1000

测试点 4~15 没有特殊限制。

10
83 10
77 2
93 4
86 6
49 1
62 7
90 3
63 4
40 10
72 0
660

提示

【数据范围】

  • Test cases 2-3 satisfy N1000N≤1000.
  • Test cases 4-15 satisfy no additional constraints.