bzoj1051 HAOI2006 受歡迎的牛

2021-08-08 23:27:48 字數 1097 閱讀 4773

每一頭牛的願望就是變成一頭最受歡迎的牛。現在有n頭牛,給你m對整數(a,b),表示牛a認為牛b受歡迎。 這

種關係是具有傳遞性的,如果a認為b受歡迎,b認為c受歡迎,那麼牛a也認為牛c受歡迎。你的任務是求出有多少頭

牛被所有的牛認為是受歡迎的。

第一行兩個數n,m。 接下來m行,每行兩個數a,b,意思是a認為b是受歡迎的(給出的資訊有可能重複,即有可

能出現多個a,b)

乙個數,即有多少頭牛被所有的牛認為是受歡迎的。

3 31 2

2 12 3

1100%的資料n<=10000,m<=50000

這個要求強聯通分量+縮點,用鏈式結構儲存才行。

看碼:

#includeint idx;

int ans2;

int low[50001];

int deep[50001],idx2,cnt,t;

int head[50001];

int x[50001],y[50001],z[50001];

int top,f[50001];

int ans[50001];

int num[50001],n,m;

int inz[50001];

int to[50001];

int next[50001];

int min(int x,int y)

if(low[x]==deep[x])

while(x!=t);

}

}

int main()

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

if(!deep[i])

tarjan(i);

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

if(f[x[i]]!=f[y[i]])

num[f[x[i]]]++;

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

if(num[i]==0)

ans2=i;

} printf("%d",ans[ans2]);

}

BZOJ1051 HAOI2006受歡迎的牛

請原諒我,這題實在和bzoj1093太像 了,copy過來改一改,很多沒有用,然後一起嘿嘿嘿 include include include include include include include using namespace std typedef long long ll inline...

bzoj1051 HAOI2006 受歡迎的牛

bzoj1051 每一頭牛的願望就是變成一頭最受歡迎的牛。現在有n頭牛,給你m對整數 a,b 表示牛a認為牛b受歡迎。這種關係是具有傳遞性的,如果a認為b受歡迎,b認為c受歡迎,那麼牛a也認為牛c受歡迎。你的任務是求出有多少頭牛被所有的牛認為是受歡迎的。第一行兩個數n,m。接下來m行,每行兩個數a,...

bzoj1051 HAOI2006 受歡迎的牛

每一頭牛的願望就是變成一頭最受歡迎的牛。現在有n頭牛,給你m對整數 a,b 表示牛a認為牛b受歡迎。這種關係是具有傳遞性的,如果a認為b受歡迎,b認為c受歡迎,那麼牛a也認為牛c受歡迎。你的任務是求出有多少頭牛被所有的牛認為是受歡迎的。第一行兩個數n,m。接下來m行,每行兩個數a,b,意思是a認為b...