無線通訊網 紀中3078 最小生成樹

2021-07-16 19:45:38 字數 997 閱讀 3118

任意兩個配備了一條衛星**線路的哨所均可以通話,無論它們相距多遠。而只通過無線電收發器通話的哨所之間的距離不能超過d,這是受收發器的功率限制。收發器的功率越高,通話距離d會更遠,但同時**也更貴。

收發器需要統一購買和安裝,所以全部哨所只能選擇安裝一種型號的收發器。換句話說,每一對哨所之間的通話距離都是同乙個d。

你的任務是確定收發器必須的最小通話距離d,使得每一對哨所之間至少有一條通話路徑(直接的或者間接的)。

第1行:2個整數s(1 <= s <= 100)和p(s < p <= 500),s表示可安裝的衛星**的線路數,p表示邊防哨所的數量。

接下來p行,每行描述乙個哨所的平面座標(x,y),以km為單位,整數,0<=x,y<=10,000

第1行:1個實數d,表示無線電收發器的最小傳輸距離。精確到小數點後2位。

圖論專題於是想到了最小生成樹,

統計一下兩兩之間的點的距離排序,並查集判斷是否在同乙個集合,kruskal一下就能過了

因為題目有n次免費機會,所以只用找到m-n條邊就可以退了,由於邊有序,所以免費靠後的邊是最優的

還有就是,洛谷有原題;-b

#include 

#include

#include

#include

using

namespace

std;

struct edge

;edge e[500500];

int x[1001],y[1001],f[1001];

int maxe=0;

double dist(int a,int b)

void add(int x,int y,double w);}

bool cmp(edge x,edge y)

void merge(int x,int y)

int main()

}printf("%.2f\n",ans);

return

0;}

無線通訊網 紀中3078 最小生成樹

任意兩個配備了一條衛星 線路的哨所均可以通話,無論它們相距多遠。而只通過無線電收發器通話的哨所之間的距離不能超過d,這是受收發器的功率限制。收發器的功率越高,通話距離d會更遠,但同時 也更貴。收發器需要統一購買和安裝,所以全部哨所只能選擇安裝一種型號的收發器。換句話說,每一對哨所之間的通話距離都是同...

P1991 無線通訊網 最小生成樹

每個邊防哨所都要配備無線電收發器 有一些哨所還可以增配衛星 任意兩個配備了一條衛星 線路的哨所 兩邊都 有衛星 均可以通話,無論他們相距多遠。而只通過無線電收發器通話的哨所之間的距離不能超過 d,這是受收發器的功率限制。收發器的功率越高,通話距離 d 會更遠,但同時 也會更貴。收發器需要統一購買和安...

P1991 無線通訊網 最小生成樹

每個邊防哨所都要配備無線電收發器 有一些哨所還可以增配衛星 任意兩個配備了一條衛星 線路的哨所 兩邊都 有衛星 均可以通話,無論他們相距多遠。而只通過無線電收發器通話的哨所之間的距離不能超過 d,這是受收發器的功率限制。收發器的功率越高,通話距離 d 會更遠,但同時 也會更貴。收發器需要統一購買和安...