T1503 愚蠢的寵物 codevs

2022-04-10 22:32:26 字數 2262 閱讀 5975

時間限制: 1 s

空間限制: 128000 kb

題目等級 : ** gold

題目描述 description

大家都知道,sheep有兩隻可愛的寵物(乙隻叫神牛,乙隻叫神菜)。有一天,sheep帶著兩隻寵物到狗狗家時,這兩隻可愛的寵物竟然迷路了……

狗狗的家因為常常遭到貓貓的攻擊,所以不得不把家裡前院的路修得非常複雜。狗狗家前院有n個連通的分叉結點,且只有n-1條路連線這n個節點,節點的編號是1-n(1為根節點)。sheep的寵物非常笨,他們只會向前走,不會退後(只向雙親節點走),sheep想知道他們最早什麼時候會相遇(即步數最少)。

輸入描述 input description

第1行:乙個正整數n,表示節點個數。

第2~n行:兩個非負整數a和b,表示a是b的雙親。(保證a,b<=n)

第n+1行:兩個非負整數a和b,表示兩隻寵物所在節點的位置。(保證a,b<=n)

輸出描述 output description

輸出他們最早相遇的節點號。

樣例輸入 sample input

101 2

1 31 4

2 52 6

3 74 8

4 94 10

3 6樣例輸出 sample output

資料範圍及提示 data size & hint

對於10%的資料,n<10^6

對於100%的資料,n<=10^6

1 #include 2 #include 3

#define maxn 10001545

using

namespace

std;67

intn,a,b,ans;

8int

fa[maxn];

9bool

vis[maxn];

1011

void will_go(int

x)12

1718

int meet(int

x)19

2526

intmain()

2735 scanf("

%d%d

",&a,&b);

36will_go(a);

37 ans=meet(b);

38 printf("%d"

,ans);

39return0;

40 }

並查集,搜a會經過的節點,用b去相遇

1 #include 2 #include 3 #include 4

#define maxn 100001556

using

namespace

std;78

intn,a,b,s,t,ans;

9int

fa[maxn];

1011

int find(int

x)12

1718

intget(int x,int

y)19

25else

26if(find(x)==y)

2731

else

3236}37

38int

main()

3947 scanf("

%d%d

",&s,&t);

48 ans=get

(s,t);

49 printf("%d"

,ans);

50return0;

51 }

並不知道怎麼錯的

1 #include 2 #include 3 #include 4

5using

namespace

std;67

const

int n=1e6+5

;8 vectorvec[n];

9int n,x,y,deep[n],dad[n][20

];10

11void dfs(int

x)12

1920

int lca(int x,int

y)21

3132

intmain()

3341 dfs(1

);42 scanf("

%d%d

",&x,&y);

43 printf("%d"

,lca(x,y));

44return0;

45 }

lca倍增法

Codevs 1503 愚蠢的寵物

時間限制 1 s 空間限制 128000 kb 題目等級 gold 題解檢視執行結果 大家都知道,sheep有兩隻可愛的寵物 乙隻叫神牛,乙隻叫神菜 有一天,sheep帶著兩隻寵物到狗狗家時,這兩隻可愛的寵物竟然迷路了 狗狗的家因為常常遭到貓貓的攻擊,所以不得不把家裡前院的路修得非常複雜。狗狗家前院...

rqnoj28 Stupid 愚蠢的寵物

題目描述 背景大家都知道,sheep有兩隻可愛的寵物 乙隻叫神牛,乙隻叫神菜 有一天,sheep帶著兩隻寵物到狗狗家時,這兩隻可愛的寵物竟然迷路了 描述狗狗的家因為常常遭到貓貓的攻擊,所以不得不把家裡前院的路修得非常複雜。狗狗家前院有n個連通的分叉結點,且只有n 1條路連線這n個節點,節點的編號是1...

PID28 Stupid 愚蠢的寵物

題鏈 題目描述 背景大家都知道,sheep有兩隻可愛的寵物 乙隻叫神牛,乙隻叫神菜 有一天,sheep帶著兩隻寵物到狗狗家時,這兩隻可愛的寵物竟然迷路了 描述狗狗的家因為常常遭到貓貓的攻擊,所以不得不把家裡前院的路修得非常複雜。狗狗家前院有n個連通的分叉結點,且只有n 1條路連線這n個節點,節點的編...