NOIP2015資訊傳遞(拓撲排序 並查集)

2022-05-10 07:14:31 字數 1651 閱讀 6426

傳送

【題意】求最小環長

【解題】我恨這個題

我是乙個沒有讀題的殺手傻手

20分**(單環)

//

第二題

#include#include

#include

#include

#include

#define fr(i,n) for( int i = 1; i <= n; ++i)

const

int n = 2e5 + 9

;int

idv[n],x,sum,n,son[n];

std::queue

q;intmain()

fr(i,n)

if(!idv[i])

while(!q.empty())

else

break

;

/////////////////////

//

} }

printf("%d

",n -sum);

return0;

}

view code

60分**

#include#include

#include

#include

#include

#define min(x,y) ((x)

#define fr(i,n) for(register int i = 1; i <= n; ++i)

const

int n = 2e5 + 9

;int idv[n],x,sum,ans = 0x3f3f3f

,n,son[n],vis[n],temp;

std::queue

q; intmain()

fr(i,n)

if(!idv[i])

fr(i,n)

ans =min(ans,temp);}}

printf("%d

",ans);

return0;

}

view code

100分

#include #include 

#include

#include

#include

#define min(x,y) ((x)

using

namespace

std;

const

int n = 200050

;int

to[n],vis[n], idv[n];

intn,ans,temp,j;

queue

q;intmain()

for (int i = 1; i <= n; i++)

if (idv[i] == 0

)

while (!q.empty())

}for (int i = 1; i <= n; i++)

ans =min(ans,temp);}}

printf(

"%d\n

", ans);

return0;

}

view code

據說這題用並查集**還會短,心態不**的時候再來補吧。

NOIP 2015 資訊傳遞

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

noip 2015 資訊傳遞

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

noip2015 資訊傳遞

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