思路:並查集+生成樹
提交:2次(雖然樣例都沒過但感覺是對的$qwq$(判邊少了一條))
題解:把所有點之間連邊,然後$sort$一遍,從小往大加邊,直到連第$n-k+1$條邊(相當於是破話$k$個連通塊的最短邊),記錄權值即為答案。
#include#include#include
#include
#include
#define ull unsigned long long
#define ll long long
#define r register int
using
namespace
std;
#define pause (for(r i=1;i<=10000000000;++i))
#define in freopen("noipak++.in","r",stdin)
#define out freopen("out.out","w",stdout)
namespace
fread inline
bool isempty(const
char& ch)
inline
void gs(char*s)
} using fread::g; using
fread::gs;
namespace
luitaryi p[n];
#define x(i) p[i].x
#define y(i) p[i].y
struct edge
edge(
int uu,int vv,double ww)
inline
bool
operator
<(const edge& that)
}e[m];
inline
int getf(int x)
inline
void
main()
} printf(
"%.2lf
",ans);}}
signed main()
2019.07.22
P4047 JSOI2010 部落劃分
聰聰研究發現,荒島野人總是過著群居的生活,但是,並不是整個荒島上的所有野人都屬於同乙個部落,野人們總是拉幫結派形成屬於自己的部落,不同的部落之間則經常發生爭鬥。只是,這一切都成為謎團了 聰聰根本就不知道部落究竟是如何分布的。不過好訊息是,聰聰得到了乙份荒島的地圖。地圖上標註了n個野人居住的地點 可以...
P4047 JSOI2010 部落劃分題解
題意 給定一些點,要把這些點分為k個部落,問最近兩個部落間的最遠距離是多少。解法 二分答案 並查集檢測鴨!二分的時候要注意精度問題噢,eps開到1e 3會有乙個點過不去。開始看錯題意想半天。include include include include include include include...
洛谷 P4047 JSOI2010 部落劃分
這道題其實就是無線通訊網的雙倍經驗啦,只是在輸出的時候不同罷了。還是一樣的 kruskal 演算法,但是在求的時候,應該在 now n k 1 的時候結束。本來到 n k 就行了的,但是由於 n k 1 這條邊是在應該部落裡面的,不能算,所以要找到第乙個不在乙個部落裡面的邊。include usin...