洛谷 P2341 受歡迎的牛

2022-06-01 11:03:10 字數 1124 閱讀 5457

畫一張圖形象一下:

tarjan演算法模板,這裡用於縮點

1931

else

if(!col[k])

3235}36

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

3746

pru.pop();47}

48return;49

}50signed main()

5158

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

5964}65

for(register int u = 1; u <= n; ++u)//

迴圈每個結點的出度(這裡是入度,因為建的是反向邊)

6674}75

}76for(register int i = 1; i <= color; ++i)//

列舉每種顏色(每個強連通分量)

7783}84

if(cnt == 1)//

必須只有乙個強連通分量沒有出度,如果有多個也不行,因為這樣那兩個強連通分量裡的奶牛都是不互相喜歡的

8588

else

8992

return0;

93 }

洛谷P2341 受歡迎的牛

usaco03fall haoi2006 受歡迎的牛 g 洛谷 電腦科學教育新生態 luogu.com.cn 用 tarjan 縮點後,在每個強連通分量中的點都可以互相到達。在 dag 中 如果有大於 1 個出口,則兩個出口之間肯定不能相互到達,所以沒有明星 如果只有乙個出口,則別的點一定可以到出口...

洛谷P2341(受歡迎的牛)題解

題目描述 每頭奶牛都夢想成為牛棚裡的明星。被所有奶牛喜歡的奶牛就是一頭明星奶牛。所有奶 歡b,b喜歡c,那麼a也喜歡c。牛欄裡共有n 頭奶牛,給定一些奶牛之間的愛慕關係,請你 算出有多少頭奶牛可以當明星。輸入輸出格式 輸入格式 第一行 兩個用空格分開的整數 n和m 第二行到第m 1行 每行兩個用空格...

Tarjan 洛谷 P2341 受歡迎的牛

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