1145 北極通訊網路

2021-10-05 14:56:04 字數 916 閱讀 4226

**

解題報告:這道題實質上是在問滿足存在k個連通塊的最小d是多少。然而並不用二分,因為在kruskal演算法的過程中本身聯通塊的數目就是遞減的,從一開始的n到k然後記錄最小值就能ac這道題了。

#include

#include

#include

#include

using

namespace std;

const

int n=

125010

;struct edgeq[n]

;int n,k;

#define x first

#define y second

typedef pair<

int,

int> pii;

pii qq[n]

;int p[n]

;int

find

(int x)

double

get_dist

(int a,

int b)

bool

cmp(edge a ,edge b)

intmain

()`

int cc=0;

for(

int i=

1;i<=n;i++

)for

(int j=i+

1;j<=n;j++

) q[cc++]=

;sort

(q,q+cc,cmp)

;int cnt =n;

double maxv=0;

for(

int i=

0;iprintf

("%.2lf\n"

,maxv)

;return0;

}

AcWing 1145 北極通訊網路 題解

acwing 1145.北極通訊網路 北極的某區域共有 n 座村莊,每座村莊的座標用一對整數 x,y 表示。通訊工具可以是無線電收發機,也可以是衛星裝置。無線電收發機有多種不同型號,不同型號的無線電收發機有乙個不同的引數 d,兩座村莊之間的距離如果不超過 d,就可以用該型號的無線電收發機直接通訊,d...

北極通訊網路

北極的某區域共有 nn 座村莊,每座村莊的座標用一對整數 x,y x,y 表示。通訊工具可以是無線電收發機,也可以是衛星裝置。無線電收發機有多種不同型號,不同型號的無線電收發機有乙個不同的引數 dd,兩座村莊之間的距離如果不超過 dd,就可以用該型號的無線電收發機直接通訊,dd 值越大的型號 越貴。...

Kruskal 北極通訊網路

不同型號的無線電收發機有乙個不同的引數d,兩座村莊之間的距離如果不超過d就可以用該型號的無線電收發機直接通訊,d值越大的型號 越貴。擁有衛星裝置的兩座村莊無論相距多遠都可以直接通訊。現在有k臺 1 k 100 衛星裝置,請你編寫乙個程式,計算出應該如何分配這k臺衛星裝置,才能使所有的無線電收發機的d...