洛谷P1991 無線通訊網 MST

2021-09-12 06:23:08 字數 1110 閱讀 8941

題目:

本題難在對題意的理解,也就是難在衛星**的放置上。以樣例說明,最小生成樹mst如下圖所示

可以放置2部衛星**,所以還要放置2部接髮器

將邊bc去掉,得到兩個連通塊ab與cd,不妨衛星**放在點a,點c,則連通塊ab內接髮器功率要求為100,連通塊cd內接髮器功率為212.13,求出最大功率為212.13。

從而轉化為求最小生成樹中的第2條邊的權值。而2=(4-1)-(2-1)=4-2。

分析:求出最小生成樹,這棵樹共p-1條邊,去掉樹中最大的s-1條邊後,將得到s個連通子圖,每個連通子圖放置一部衛星**。所以具體做法是用kruskal演算法輸出第p-s條邊的權值。

ac**:

#include#include#include#includeusing namespace std;

struct edge;

edge a[500005];

int n,m,x[501],y[501];

int num,head[501],father[501],vis[500005];

int edge_num,ans;

double dis(int i,int j)

void join(int from,int to,double value)

int find(int x)

void unionn(int x,int y)

void qsort(int l,int r)

} if(l>n>>m;

for(int i=1;i<=m;i++)cin>>x[i]>>y[i];

for(int i=1;i<=m;i++)

for(int j=1;j<=m;j++)

if(i!=j)

qsort(1,num);

for(int i=1;i<=m;i++)father[i]=i;

kruskal();

return 0;

}

P1991 無線通訊網 MST

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

洛谷 P1991 無線通訊網

這道題找到關鍵點那就是模板題了,好寫噠 因為有s個 兩個 就可以連通兩個塊,那是不是我們就可以看做一條無消耗的邊,提前連了起來。根據kruskal的思想,我們每次加入最小的邊,直到聯通,由於兩台 一條線,所以我們加入的點也就只需要p s條了,相當於貪心掉了最大需要的邊。o泡 時間到 include ...

洛谷 P1991 無線通訊網 題解

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