洛谷 P4047 JSOI2010 部落劃分

2022-03-19 07:26:38 字數 653 閱讀 4946

這道題其實就是無線通訊網的雙倍經驗啦,只是在輸出的時候不同罷了。還是一樣的\(kruskal\)演算法,但是在求的時候,應該在\(now=n-k+1\)的時候結束。本來到\(n-k\)就行了的,但是由於\(n-k+1\)這條邊是在應該部落裡面的,不能算,所以要找到第乙個不在乙個部落裡面的邊。

**:

#include using namespace std;

struct node;

int n , k , tot , now;

int fa[1010];

double ans;

double dx[1010] , dy[1010];

node e[100000010];

double work(int i , int j)

bool cmp(node x , node y)

int find(int x)

int main()

sort(e + 1 , e + tot + 1 , cmp);

for(int i = 1; i <= n; i++) fa[i] = i;

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

printf("%.2f" , ans);

return 0;

}

P4047 JSOI2010 部落劃分

聰聰研究發現,荒島野人總是過著群居的生活,但是,並不是整個荒島上的所有野人都屬於同乙個部落,野人們總是拉幫結派形成屬於自己的部落,不同的部落之間則經常發生爭鬥。只是,這一切都成為謎團了 聰聰根本就不知道部落究竟是如何分布的。不過好訊息是,聰聰得到了乙份荒島的地圖。地圖上標註了n個野人居住的地點 可以...

P4047 JSOI2010 部落劃分題解

題意 給定一些點,要把這些點分為k個部落,問最近兩個部落間的最遠距離是多少。解法 二分答案 並查集檢測鴨!二分的時候要注意精度問題噢,eps開到1e 3會有乙個點過不去。開始看錯題意想半天。include include include include include include include...

P4047 JSOI2010 部落劃分 並查集

思路 並查集 生成樹 提交 2次 雖然樣例都沒過但感覺是對的 qwq 判邊少了一條 題解 把所有點之間連邊,然後 sort 一遍,從小往大加邊,直到連第 n k 1 條邊 相當於是破話 k 個連通塊的最短邊 記錄權值即為答案。include include include include inclu...