有向無環圖中所有入度不為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 有向圖警告 要求什麼呢,最少給多少個學校就可以給到全部的學校,最少加幾個支援關係,可以使得給任意乙個學校就可以傳遞到全部學校去。思路 第...