題目描述 題目
資料結構暫時先告一段落,那些複雜的資料結構對於現在的我來說太麻煩了,寫了也沒有意義,所以等以後**力強一點的時候再回去把暫時放棄的資料結構學完
接著進入圖論的學習
最短路已經很熟了,就不必再回去學了
而之前只是囫圇吞棗地學了一遍各種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 接下來...