CCF 高速公路 tarjan強連通縮點

2022-08-03 06:15:09 字數 917 閱讀 1311

【題意】

給定乙個有向圖,問圖中互相可達(強連通)的點有多少對

【ac】

強連通縮點,縮點後是乙個dag,所以互相可達的點只在強連通塊裡。

#include#include

#include

#include

#include

using

namespace

std;

intn,m;

const

int maxn=1e4+2

;const

int maxm=1e5+2

;struct

edgee[maxm];

inthead[maxn];

inttot;

ints[maxn],top;

intdfn[maxn],low[maxn],id;

intbelong[maxn],num;

bool

vis[maxn];

intcircle[maxn];

void

init()

void add(int u,int

v)void tarjan(int

u)

else

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

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

}}int

main()

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

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

int ans=0

;

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

printf(

"%d\n

",ans);

}return0;

}

ccf 高速公路

問題描述 某國有n個城市,為了使得城市間的交通更便利,該國國王打算在城市之間修一些高速公路,由於經費限制,國王打算第一階段先在部分城市之間修一些單向的高速公路。現在,大臣們幫國王擬了乙個修高速公路的計畫。看了計畫後,國王發現,有些城市之間可以通過高速公路直接 不經過其他城市 或間接 經過乙個或多個其...

CCF高速公路

新學了tarjan演算法,今天中午之前還沒聽過,用dfs硬寫加了點優化得了70,對路的演算法還是給力,直接滿分。回頭整理一篇關於強連通分量的部落格,另外這次往後就慢慢全用c 了。include include include include define maxsize 10005 using na...

ccf 高速公路 100

試題編號 201509 4 試題名稱 高速公路 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 某國有n個城市,為了使得城市間的交通更便利,該國國王打算在城市之間修一些高速公路,由於經費限制,國王打算第一階段先在部分城市之間修一些單向的高速公路。現在,大臣們幫國王擬了乙個修高速公...