poj 1236 強連通分量 縮點

2021-06-21 22:45:13 字數 858 閱讀 7836

有向無環圖中所有入度不為0的點,一定 可以由某個入度為0的點出發可達。 

假定有 n 個入度為0的點,m個出度為0的點, max(m,n)就是第二個問題的解。

#include #include #include #include #include #include #include using namespace std;

const int inf =0x3ffffff;

const int maxn=10005;//點數

struct edge

e[50005];//邊數

stackpq;

int head[maxn];

int instack[maxn];//是否在棧中

int dfn[maxn];//同時可用於判斷是否遍歷過

int low[maxn];

int color[maxn],rdu[maxn],cdu[maxn];

int n,m,t,index,se;//n個點,m條邊,t用來生成邊的標號,index用來生成點的標號

void init()//建圖前執行init

void add(int i,int j,int w)

void tarjan(int u)

else if(instack[e[i].to]==1)

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

se++; }}

int main()

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

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

for(j=head[i];j!=-1;j=e[j].next)

}int temp,cntr=0,cntc=0,ans=0;;

for(i=0;i

poj1236 強連通分量 縮點

題意 n 2 題解 找強連通分量,縮點。記f i 為縮完點後的新圖中各點入度,g i 為出度,ans1為f i 0的點的數目,ans2為g i 0的點的數目則第一問為ans1,第二問則為max。至於第二問的解釋,我的想法是對於得到的dag圖,考慮其中的出度為0的點和入度為0的點組成的點集v,將這些點...

poj1236 強連通分量 縮點

有一次比賽的時候遇到了一道強連通分量 縮點的題,過的人挺多,那個時候還沒有做過強連通的題,只能遺憾放棄。比賽回去,立馬整理了強連通縮點的模板,做了那道題。時隔多日,再找一道強連通的題,來聯絡一下 題目大意 有乙個有向圖,第一問 從幾個點開始走能夠全部遍歷一遍,第二問 如果要把整個有向圖變成強連通至少...

POJ 1236 強連通分量

題目鏈結 翻譯一下題目吧,大致含義就是,有n個學校,現在要向n個學校傳遞乙個軟體,如果a學校願意支援b學校,那麼給了a,a就會給b,但是a支援b但是b不一定支援a 有向圖警告 要求什麼呢,最少給多少個學校就可以給到全部的學校,最少加幾個支援關係,可以使得給任意乙個學校就可以傳遞到全部學校去。思路 第...