hdu 3849 雙聯通求橋

2021-06-25 23:50:20 字數 762 閱讀 9452

題目意思:

給你n,m表示乙個圖的n個點,m條邊。   下面m行為  x ,y即x和y之間有條邊,求割邊,2個坑點:若圖不連通輸出0;若有多條割邊按輸入先後順序輸出,而且x,y順序也和輸入時一致   

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

#define n 10005

struct nodeans[n];

struct mem;

vectorve[n];

mapma;

mapmb;

int low[n], dfn[n];

int visited[n];

int n, m, dfn_clock;

int nu;

void init()

void dfs(int u,int fa)

}else low[u]=min(low[u],dfn[q.y]);

}}bool cmp(node a,node b)

dfn_clock=nu=0;

dfs(1,-1);

int f=1;

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

}if(i<=n)

sort(ans,ans+nu,cmp);

printf("%d\n",nu);

for(i=0;i}

}

tarjan雙聯通求割點和橋模板

詳見 求割點 int n,m,stamp,low 1005 dfn 1005 iscut 1005 iscut記錄的為割點 vector vec 1005 void tarjan int index,int fa else if dfn tmp fa if fa 0 child 1 iscut in...

HDU 4587 邊雙聯通

題意 給你n個點,m條邊,要你刪除兩個點以及和這兩個點直接相連的邊,問你剩下的圖中,最大的連通分量的數目。分析 我們可以列舉每個點,然後看剩下的圖中是否有割點,這裡需要注意,乙個單獨的連通分量刪除就沒有了,坑點在這裡!include include include include include u...

hdu 4005 邊雙聯通 LCA

題意 有一幅圖,現在要加一條邊,加邊之後要你刪除一條邊,使圖不連通,費用為邊的費用,要你求的是刪除的邊的最小值的最大值 每次都可以刪除一條邊,選最小的刪除,這些最小中的最大就為答案 首先要進行縮點,把圖縮為一棵樹,因此,加入一條邊後圖就會存在乙個環,環中的任何一條邊刪除後都不會導致圖不連通 之後找一...