tarjan的一道模板題,t=1連一條單向邊,t=2連一條雙向邊。tarjan跑一遍,乙個絕對連通區域就是乙個強連通分量。tarjan中每次找到乙個強連通分量,記錄這個強連通分量有多少個點。然後找到強連通分量最大的那個,從前往後找,就保證了字典序最小的優先,最後輸出屬於那個連通塊的點即可。
**如下
#include
using
namespace std;
const
int maxn=
5e3+5;
const
int maxm=
1e5+5;
int head[maxn]
;struct node
edge[maxm]
;int cnt;
void
add(
int x,
int y)
int dfn_number,top,color;
int dfn[maxn]
,low[maxn]
,col[maxn]
,stc[maxn]
,col_num[maxn]
;bool vis[maxn]
;void
tarjan
(int u)
else
if(vis[v]
) low[u]
=min
(low[u]
,dfn[v]);
}if(dfn[u]
==low[u]
) top--
; col_num[color]
=len;}}
int n,m;
int opt,x,y;
intmain()
else
}for
(int i=
1;i<=n;i++)if
(!dfn[i]
)tarjan
(i);
int ma=
0,t;
for(
int i=
1;i<=n;i++
)//cout<}
printf
("%d\n"
,ma)
;for
(int i=
1;i<=n;i++
)return0;
}
P1726 上白澤慧音
原題鏈結 直到今天 我才知道 幻想鄉還有這麼一位 看起來很可愛的 老師普通的尋找強連通分量 普通的統計最大 普通的輸出 除了我背錯板子了以外 一切都是那麼完美 今天的幻想鄉 也是和平的一天呢 include include include include include include includ...
P1726 上白澤慧音
在幻想鄉,上白澤慧音是以知識淵博聞名的老師。春雪異變導致人間之里的很多道路都被大雪堵塞,使有的學生不能順利地到達慧音所在的村莊。因此慧音決定換乙個能夠聚集最多人數的村莊作為新的教學地點。人間之里由n個村莊 編號為1.n 和m條道路組成,道路分為兩種一種為單向通行的,一種為雙向通行的,分別用1和2來標...
P1726 上白澤慧音
提交 8.40k 通過 4.05k 時間限制 1.00s 記憶體限制 125.00mb 題目提供者yeszy 難度提高 省選 歷史分數100 提交記錄 檢視題解 檢視演算法標籤 進入討論版 檢視討論 檢視推薦 展開 在幻想鄉,上白澤慧音是以知識淵博聞名的老師。春雪異變導致人間之里的很多道路都被大雪堵...