P2341 HAOI2006 受歡迎的牛(更完)

2022-04-12 02:44:52 字數 1173 閱讀 5154

題解

tarjan 縮點板子題

如果 a 稀飯 b,那就 a 向 b 連邊,構造出乙個有向圖

如果這個有向圖裡有強連通分量,也就說明這個強連通分量裡的所有奶牛互相稀飯,他們都有機會成為明星奶牛

但是如果這個有向圖裡有2個及以上的出度為0的強連通分量,那麼就不會有任何乙個明星奶牛

所以就是tarjan縮點+尋找出度為0的強連通分量

**

#include#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

inline

intread()

const

int maxn=50010

;int n,m,edge_num=0,tim=0,top=0,qltnum=0

;int

head[maxn],dfn[maxn],vis[maxn],low[maxn];

int s[maxn],color[maxn],size[maxn],out

[maxn];

struct

node

edge[maxn];

void addedge(int u,int

v)void tarjan(int

x)

else

if(vis[y])

low[x]=min(low[x],dfn[y]);

}if(dfn[x]==low[x])

while(x!=y);

}}int

main()

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

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

for(int j=head[i];j;j=edge[j].nxt )

}int now=0

;

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

now=i;}}

printf(

"%d\n

",size[now]);

return0;

}

P2341 HAOI2006 受歡迎的牛

p2341 haoi2006 受歡迎的牛 塔爾羊標準模板 我才不會告訴你我嘴裡含著乙個九省聯考的出題人 不會劈配 林克卡特樹 制胡竄 我還會叉糞宿主,梳妝素組,西安段素 include include include includeusing namespace std vectorline 500...

P2341 HAOI2006 受歡迎的牛 題解

每頭奶牛都夢想成為牛棚裡的明星。被所有奶牛喜歡的奶牛就是一頭明星奶牛。所有奶 歡b,b喜歡c,那麼a也喜歡c。牛欄裡共有n 頭奶牛,給定一些奶牛之間的愛慕關係,請你 算出有多少頭奶牛可以當明星。輸入格式 輸出格式 第一行 單獨乙個整數,表示明星奶牛的數量 輸入樣例 1 3 3 1 22 1 2 3輸...

洛谷 P2341 HAOI2006 受歡迎的牛

a 喜歡 b,b 喜歡 c,那麼 a 也喜歡 c。牛欄裡共有 n 頭奶牛,給定一些奶牛之間的愛慕關係,請你算出有多少頭奶牛可以當明星。輸入格式 第一行 兩個用空格分開的整數 n和 m 第二行到第 m 1行 每行兩個用空格分開的整數 a 和 b,表示 a 喜歡 b 輸出格式 第一行 單獨乙個整數,表示...