ssl1764 最小生成樹II

2021-07-29 17:01:19 字數 1366 閱讀 7935

最小生成樹ii

time limit:10000ms  memory limit:65536k

total submit:314 accepted:142 

case time limit:1000ms

description

農民約翰被選為他們鎮的鎮長!他其中乙個競選承諾就是在鎮上建立起網際網路,並連線到所有的農場。當然,他需要你的幫助。約翰已經給他的農場安排了一條高速的網路線路,他想把這條線路共享給其他農場。為了用最小的消費,他想鋪設最短的光纖去連線所有的農場。你將得到乙份各農場之間連線費用的列表,你必須找出能連線所有農場並所用光纖最短的方案。每兩個農場間的距離不會超過100000

input

第一行: 農場的個數,n(3<=n<=5000)。 

第二行..結尾: 後來的行包含了乙個n*n的矩陣,表示每個農場之間的距離。理論上,他們是n行,每行由n個用空格分隔的數組成,實際上,他們限制在80個字元,因此,某些行會緊接著另一些行。當然,對角線將會是0,因為不會有線路從第i個農場到它本身。 

output

只有乙個輸出,其中包含連線到每個農場的光纖的最小長度。

sample input

4

0 4 9 21

4 0 8 17

9 8 0 16

21 17 16 0

sample output

28

source

usaco改編

var

a:array[0..5000,0..5000]of longint;

l:array[0..5000]of longint;

v:array[0..5000]of boolean;

n,i,j,k,ans:longint;

begin

readln(n);

for i:=1 to n do

begin

for j:=1 to n do read(a[i,j]);

readln;

end;

fillchar(v,sizeof(v),true);

fillchar(l,sizeof(l),$7f);

l[1]:=0;

for i:=1 to n do

begin

k:=0;

for j:=1 to n do

if (l[j]

//詳見上一條部落格,只改了陣列大小(一下水4題的快感~)

SSL ZYC 1764 最小生成樹

題目大意 求出最小生成樹。思路 這道題有兩種方法 1 最小生成樹 2 並查集 最小生成樹 資料n 5000,簡直就是dij的模版。並查集 以兩點之間的距離從小到大排序,再利用貪心思想,如果father i father j 那麼將i的父親指向j,再用sum加上這兩點之間的距離,加上一點優化即可ac。...

SSL ZYC 1764 最小生成樹

題目大意 求出最小生成樹。思路 這道題有兩種方法 1 最小生成樹 2 並查集 最小生成樹 資料n 5000,簡直就是dij的模版。並查集 以兩點之間的距離從小到大排序,再利用貪心思想,如果father i father j 那麼將i的父親指向j,再用sum加上這兩點之間的距離,加上一點優化即可ac。...

ssl2779 Heatwave 最小生成樹 倍增

給你n個點的無向連通圖,圖中有m條邊,第j條邊的長度為 d j.現在有 k個詢問。每個詢問的格式是 a b,表示詢問從a點走到b點的所有路徑中,最長的邊最小值是多少?要求u,v兩點中的最長邊的最小值,設該值為ans,那麼,把權小於等於ans的邊組成的圖中,u,v一定是連通的。也就是說,對於乙個圖,求...