HAOI2006 受歡迎的牛 Tarjan縮點

2021-08-13 05:17:44 字數 873 閱讀 2748

題目描述 題目

資料結構暫時先告一段落,那些複雜的資料結構對於現在的我來說太麻煩了,寫了也沒有意義,所以等以後**力強一點的時候再回去把暫時放棄的資料結構學完

接著進入圖論的學習

最短路已經很熟了,就不必再回去學了

而之前只是囫圇吞棗地學了一遍各種tarjan演算法,所以我打算多刷點題鞏固一下

對本題

如果只存在1個強連通分量,那麼所有牛都是受歡迎的

如果存在2個強連通分量,那麼入度為0的分量中的牛是受歡迎的

否則沒有牛受歡迎

**

#include

#include

#include

#include

using

namespace

std;

const

int n=10010,m=50010;

int head[n],x[m],y[m],deg[n],n,m,now;

int col[n],cnt[n],dfn[n],low[n],s[n],vis[n],tot,idx,top;

struct ee[m];

void build(int u,int v)

int read()

while(c <= '9' && c >= '0')

return out*f;

}void tarjan(int u)

else

if(vis[v]) low[u]=min(low[u],dfn[v]);

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

}}void solve()

void init()

}int main()

HAOI2006 受歡迎的牛

題目 分析 tarjan縮點。最後如果只有乙個出度為0的點,則答案就是這個點包含的牛數,否則為0.一開始最後統計的時候寫了dfs,後來發現是錯誤的,反例 include include include include include using namespace std const int tma...

HAOI2006 受歡迎的牛

這個就是強連通,計算出度為0的點就好 也沒森麼其它好講的啦 提交傳送們 description 每一頭牛的願望就是變成一頭最受歡迎的牛。現在有n頭牛,給你m對整數 a,b 表示牛a認為牛b受歡迎。這種關係是具有傳遞性的,如果a認為b受歡迎,b認為c受歡迎,那麼牛a也認為牛c受歡迎。你的任務是求出有多...

HAOI2006 受歡迎的牛

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