C 部落劃分

2022-08-12 15:48:16 字數 957 閱讀 8499

時間限制 : - ms   空間限制 : - kb

spj評測說明 : 1s,128m

問題描述

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

不過好訊息是,聰聰得到了乙份荒島的地圖。地圖上標註了n個野人居住的地點(可以看作是平面上的座標)。我們知道,同乙個部落的野人總是生活在附近。我們把兩個部落的距離,定義為部落中距離最近的那兩個居住點的距離。聰聰還獲得了乙個有意義的資訊——這些野人總共被分為了k個部落!這真是個好訊息。

聰聰希望從這些資訊裡挖掘出所有部落的詳細資訊。他正在嘗試這樣一種演算法:

對於任意一種部落劃分的方法,都能夠求出兩個部落之間的距離,聰聰希望求出一種部落劃分的方法,使靠得最近的兩個部落盡可能遠離。 例如,下面的左圖表示了乙個好的劃分,而右圖則不是。請你程式設計幫助聰聰解決這個難題。

輸入格式

第一行包含兩個整數n和k(1< = n < = 1000,1< k < = n),分別代表了野人居住點的數量和部落的數量。

接下來n行,每行包含兩個正整數x,y,描述了乙個居住點的座標(0 < =x, y < =10000)

輸出格式

輸出一行,為最優劃分時,最近的兩個部落的距離,精確到小數點後兩位。

樣例輸入 1

4 20 0

0 11 1

1 0樣例輸出 1

1.00

樣例輸入 2

5 33844 8130

808 2001

9888 1565

3722 7640

9923 2179

樣例輸出 2

6347.42

JSOI2010 部落劃分

題目 洛谷p4047 難度 普及 提高 演算法標籤 生成樹,並查集,二分答案 分析 要使每個部落之間的距離最大,我們可以採用貪心的策略,開始時看作每個居住點就是乙個部落,每次將居住點距離最近的兩個部落合併為乙個部落,使各個部落之間的距離增大,合併至只剩k個部落,此時距離最近的兩個部落之間的距離即是靠...

洛谷 4047 部落劃分

bb地區在 過後,所有村莊都造成了一定的損毀,而這場 卻沒對公路造成什麼影響。但是在村莊重建好之前,所有與未重建完成的村莊的公路均無法通車。換句話說,只有連線著兩個重建完成的村莊的公路才能通車,只能到達重建完成的村莊。給出bb地區的村莊數nn,村莊編號從00到n 1n 1,和所有mm條公路的長度,公...

bzoj1821 部落劃分

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