8 7 機器選擇selc 2536

2021-08-05 20:39:41 字數 1409 閱讀 5412

【資料範圍】

對於30%的資料,n≤100;

對於50%的資料,n≤1000;

對於100%的資料,2≤n≤100000。

8 3

1 2

1 3

3 4

3 5

4 6

5 7

7 8由於給出的整個布局是乙個樹形結構,所以可以用求樹上最長鏈的方法求

可以證明從任意乙個點出發,一直走到最遠的乙個點,這個最遠點一定是樹上最長鏈的一端。記錄端點,再從改端點出發一直走到最遠的乙個點,經過的路徑即為樹上最長鏈

最後結果應為樹上最長鏈的長度+1 div 2

其中兩次找最遠點都可用同乙個過程,注意記錄上次走到的點

因為最多是每個點遍歷一次,所以

時間複雜度o(n)

var

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

a:array[1..200000,1..2]of longint;

ls,next:array[1..200000]of longint;

procedure

dfs(k,s,c:longint);

var j:longint;

begin

j:=ls[k];

if maxthen

begin

max:=s;

ans:=k;

end;

while j>0

dobegin

if a[j,2]<>c then

dfs(a[j,2],s+1,k);

j:=next[j];

end;

end;

begin

assign(input,'selc.in');

assign(output,'selc.out');

reset(input);rewrite(output);

readln(n);

for i:=1

to n-1

dobegin

inc(j);

readln(a[j,1],a[j,2]);

next[j]:=ls[a[j,1]];

ls[a[j,1]]:=j;

inc(j);

a[j,1]:=a[j-1,2];

a[j,2]:=a[j-1,1];

next[j]:=ls[a[j,1]];

ls[a[j,1]]:=j;

end;

dfs(1,0,0);

max:=0;

dfs(ans,0,0);

writeln((max+1) div

2); close(input);close(output);

end.

機器學習 特徵選擇

特徵選擇是特徵工程中的重要問題 另乙個重要的問題是特徵提取 坊間常說 資料和特徵決定了機器學習的上限,而模型和演算法只是逼近這個上限而已。由此可見,特徵工程尤其是特徵選擇在機器學習中占有相當重要的地位。通常而言,特徵選擇是指選擇獲得相應模型和演算法最好效能的特徵集,工程上常用的方法有以下 1.計算每...

dfs 樹 機器選擇

有乙個樹狀的圖,要求安乙個點,使這個點到最遠的點的距離最小 第1行 乙個整數n。第2n行 兩個整數u v,即u v兩台機器間有一條網線連線。機器從1n編號。輸入資料保證是乙個連通的樹型結構。1行乙個整數,即最短的時間。5 3 22 1 5 22 41 資料範圍 對於30 的資料,n 100 對於50...

dfs 樹 機器選擇

資料範圍 思路 第1行 乙個整數n。第2 n行 兩個整數u v,即u v兩台機器間有一條網線連線。機器從1 n編號。輸入資料保證是乙個連通的樹型結構。1行乙個整數,即最短的時間。輸入樣例5 3 22 1 5 22 4輸出樣例1對於30 的資料,n 100 對於50 的資料,n 1000 對於100 ...