資源簡介
無向圖的強連通分量(1).cpp
//這個是內(nèi)網(wǎng)比賽的代碼,用到了無向圖的雙連通分量 ,gabow部分是求雙聯(lián)通的
代碼片段和文件信息
//這個是內(nèi)網(wǎng)比賽的代碼,用到了無向圖的雙連通分量?,gabow部分是求雙聯(lián)通的
#include
#include
#include
using?namespace?std;
vector?tmp1[5005];
set?tmp2[5005];
int?bcc[5005];?
int?pre[5005];?
int?path[5005];
int?sath[5005];
int?nm;
int?ps;
int?now;
int?ans;?
void?dfs(int?fuint?num)
{
????path[p++]=num;
????sath[s++]=num;
????pre[num]=now++;
????for(int?i=0;i ????{
????????if?(?tmp1[num][i]?==?fu?)
????????????continue?;
????????if?(?pre[tmp1[num][i]]?==?-1?)
????????????dfs(numtmp1[num][i])?;
????????else?
????????{
????????????while?(?pre[tmp1[num][i]]?????????????????p--?;
????????}
????}
????if(path[p-1]!=num)
????????return?;
????p--;
????while(sath[s]!=num)
????{
????????bcc[sath[s-1]]=ans;
????????
評論
共有 條評論