洛谷P2611資訊傳遞(思維環形題,並查集)

2022-06-24 15:12:11 字數 1117 閱讀 6046

一道很好的思維題,要思考怎麼模擬成環的這個操作並且把它走過的距離儲存下來,類似並查集父結點的思想。

單純暴力會超時(加上剪枝也超時)

暴力超時**,80分

1 #include 2 #include 

3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9

using

namespace

std;

10int a[1000005

];11

intn;

12int ans=1e9;

1314

void so(int last,int t,int

y)15

2324 so(a[last],t+1

,y);25}

2627

28int

main()

2939

40 cout4142

return0;

43 }

ac**

1 #include 2 #include 

3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9

using

namespace

std;

10int a[1000005

];11

int fa[1000005];//

父節點12

int ra[1000005];//

深度13

intn;

14int ans=1e9;

1516

void so(int last,int t,int

y)17

2324 fa[last]=y;

25 ra[last]=t;

26 so(a[last],t+1

,y);27}

2829

30int

main()

3141

42 cout4344

return0;

45 }

完。

洛谷P2661 資訊傳遞

有n個同學 編號為1到n 正在玩乙個資訊傳遞的遊戲。在遊戲裡每人都有乙個固定的資訊傳遞物件,其中,編號為i的同學的資訊傳遞物件是編號為ti同學。遊戲開始時,每人都只知道自己的生日。之後每一輪中,所有人會同時將自己當前所知的生日資訊告訴各自的資訊傳遞物件 注意 可能有人可以從若干人那裡獲取資訊,但是每...

洛谷 P2661 資訊傳遞

有 n個同學 編號為1到 n 正在玩乙個資訊傳遞的遊戲。在遊戲裡每人都有乙個固定的資訊傳遞物件,其中,編號為 i的同學的資訊傳遞物件是編號為 ti同學。遊戲開始時,每人都只知道自己的生日。之後每一輪中,所有人會同時將自己當前所知的生日資訊告訴各自的資訊傳遞物件 注意 可能有人可以從若干人那裡獲取資訊...

洛谷 P2661 資訊傳遞

有 nn n 個同學 編號為 11 1 到 nn n 正在玩乙個資訊傳遞的遊戲。在遊戲裡每人都有乙個固定的資訊傳遞物件,其中,編號為 ii i 的同學的資訊傳遞物件是編號為 tit iti 的同學。遊戲開始時,每人都只知道自己的生日。之後每一輪中,所有人會同時將自己當前所知的生日資訊告訴各自的資訊傳...