無線通訊網,洛谷之提高歷練地,最小生成樹

2021-08-18 13:20:41 字數 919 閱讀 1383

正題

第三題:無線通訊網

這題中的衛星**,就指的是可以把原圖分成s個聯通塊後,就可以互相聯通。

那我們要把原圖分成s個聯通塊,那麼我們只需要選中p-s條最短的邊(當然是不聯通的兩個點)。

然後輸出最大邊最小即可,那麼想到了最大邊最小,我們就想到了最小生成樹,選s-p條邊即可。

**《我是二分的,太菜了》

#include#include#include#include#includeusing namespace std;

struct nodep[510];

int m,n;

double d[510][510];

struct edges[250010];

int len=0;

int f[510];

int t[250010];

bool tf[510];

bool cmp(edge x,edge y)

void ins(int x,int y,double c)

double dis(int x,int y)

int findpa(int x)

bool check(int x)

int tot=0;

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

} if(tot<=m) return true;

return false;

}int main()

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

sort(s+1,s+1+len,cmp);

int l=1,r=len;

int ans=-1;

while(l<=r)

else l=mid+1;

} printf("%.2lf",s[ans].c);

}

洛谷 P1991 無線通訊網

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

洛谷P1991 無線通訊網 MST

題目 本題難在對題意的理解,也就是難在衛星 的放置上。以樣例說明,最小生成樹mst如下圖所示 可以放置2部衛星 所以還要放置2部接髮器。將邊bc去掉,得到兩個連通塊ab與cd,不妨衛星 放在點a,點c,則連通塊ab內接髮器功率要求為100,連通塊cd內接髮器功率為212.13,求出最大功率為212....

洛谷 P1991 無線通訊網 題解

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