青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

POJ 3352 Road Construction 雙連通分量+縮點

Description

It's almost summer time, and that means that it's almost summer construction time! This year, the good people who are in charge of the roads on the tropical island paradise of Remote Island would like to repair and upgrade the various roads that lead between the various tourist attractions on the island.

The roads themselves are also rather interesting. Due to the strange customs of the island, the roads are arranged so that they never meet at intersections, but rather pass over or under each other using bridges and tunnels. In this way, each road runs between two specific tourist attractions, so that the tourists do not become irreparably lost.

Unfortunately, given the nature of the repairs and upgrades needed on each road, when the construction company works on a particular road, it is unusable in either direction. This could cause a problem if it becomes impossible to travel between two tourist attractions, even if the construction company works on only one road at any particular time.

So, the Road Department of Remote Island has decided to call upon your consulting services to help remedy this problem. It has been decided that new roads will have to be built between the various attractions in such a way that in the final configuration, if any one road is undergoing construction, it would still be possible to travel between any two tourist attractions using the remaining roads. Your task is to find the minimum number of new roads necessary.

Input

The first line of input will consist of positive integers n and r, separated by a space, where 3 ≤ n ≤ 1000 is the number of tourist attractions on the island, and 2 ≤ r ≤ 1000 is the number of roads. The tourist attractions are conveniently labelled from 1 to n. Each of the following r lines will consist of two integers, v and w, separated by a space, indicating that a road exists between the attractions labelled v and w. Note that you may travel in either direction down each road, and any pair of tourist attractions will have at most one road directly between them. Also, you are assured that in the current configuration, it is possible to travel between any two tourist attractions.

Output

One line, consisting of an integer, which gives the minimum number of roads that we need to add.

Sample Input

Sample Input 1
10 12
1 2
1 3
1 4
2 5
2 6
5 6
3 7
3 8
7 8
4 9
4 10
9 10
Sample Input 2
3 3
1 2
2 3
1 3

Sample Output

Output for Sample Input 1
2
Output for Sample Input 2
0

Source


   

    題目大意:給定一個雙向連通的公路網,當某些公路路段檢修的時候可能會由于該段公路不通,可能會使某些旅游點之間無法通行,求至少新建多少條公路,使得任意對一段公路進行檢修的時候,所有的旅游景點之間仍然暢通;

    分析:檢修某一路段導致公路網不暢通的原因必然是該段公路在圖中是橋(割邊),因此完全暢通的方法就是,加最若干條邊,使圖中不存在橋。先找出圖中所有的雙連通分量,將雙連通分量進行縮點,得到一個樹形圖,求出這個樹形圖中度為1的點的個數,新加邊的條數即是(度為1的點數目+1)/2,考慮到題目只要求求度為1的點數目,因此可以部分縮點,利用并查集,保存每個割邊的頂點,統計每個頂點在并查集中的代表元的度數即可。
    Sample 1中存在4個雙連通分量:{1},{2,5,6},{3,7,8},{4,9,10},進行縮點之后,求得一個4個節點的樹形圖,其中一個點的度數為3,其余3個點的度數為1,得到需要加的邊的數目為(3+1)/2=2。

#include <iostream>
#include 
<vector>
using namespace std;

const int MAXN = 5001;
vector
< vector<int> > adj;
int cnt,low[MAXN],pre[MAXN],visit[MAXN],degree[MAXN];

void dfs(int u,int v){
    visit[u]
=1;
    pre[u]
=cnt++,low[u]=pre[u];
    
int i,len=adj[u].size();
    
for(i=0;i<len;i++){
        
if(adj[u][i]==v) continue;
        
if(!visit[adj[u][i]]) dfs(adj[u][i],u);
        
if(low[adj[u][i]]<low[u]) low[u]=low[adj[u][i]];
    }

    visit[u]
=2;
}

int main(){
    
int i,j,u,v,n,m,len,ans;
    scanf(
"%d %d",&n,&m);
    adj.assign(n
+1,vector<int>());
    
while(m--){
        scanf(
"%d %d",&u,&v);
        adj[u].push_back(v),adj[v].push_back(u);
    }

    memset(visit,
0,sizeof(visit));
    cnt
=0,dfs(1,1);
    memset(degree,
0,sizeof(degree));
    
for(i=1;i<=n;i++){
        len
=adj[i].size();
        
for(j=0;j<len;j++)
            
if(low[i]!=low[adj[i][j]])
                degree[low[i]]
++;
    }

    
for(ans=i=0;i<=n;i++)
        
if(degree[i]==1) ans++;
    printf(
"%d\n",(ans+1)/2);
    
return 0;
}

posted on 2009-05-29 18:53 極限定律 閱讀(1589) 評論(3)  編輯 收藏 引用 所屬分類: ACM/ICPC

評論

# re: POJ 3352 Road Construction 雙連通分量+縮點 2009-08-03 10:47 路人

11 14
1 2
1 3
1 4
2 5
6 11
2 6
5 6
5 11
3 7
3 8
7 8
4 9
4 10
9 10

你的程序,這組數據時錯誤的。。  回復  更多評論   

# re: POJ 3352 Road Construction 雙連通分量+縮點 2009-08-04 09:46 mythit

@路人
多謝指正  回復  更多評論   

# re: POJ 3352 Road Construction 雙連通分量+縮點 2011-07-25 19:14 過客

void dfs(int u,int v){
visit[u]=1;
pre[u]=cnt++,low[u]=pre[u];
int i,len=adj[u].size();
for(i=0;i<len;i++){
if(adj[u][i]==v) continue;
if(!visit[adj[u][i]]) dfs(adj[u][i],u);
if(low[adj[u][i]]<low[u]) low[u]=low[adj[u][i]];
}
visit[u]=2;
}
最后一句 visit[u]=2;有什么用啊,求解釋  回復  更多評論   

<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

導航

統計

常用鏈接

留言簿(10)

隨筆分類

隨筆檔案

友情鏈接

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲一区二区精品在线| 久久久亚洲国产天美传媒修理工| 一区在线播放视频| 欧美va亚洲va日韩∨a综合色| 午夜精品久久久久久| 久久人人爽爽爽人久久久| 亚洲国产专区校园欧美| 亚洲国产婷婷| 国产亚洲观看| 精品1区2区3区4区| 国产精品yjizz| 国产精品激情偷乱一区二区∴| 裸体丰满少妇做受久久99精品| 欧美一区二区三区久久精品茉莉花| 久久精品72免费观看| 欧美激情精品久久久久久久变态| 亚洲精品一区在线观看| 亚洲国产精品小视频| 亚洲欧美日韩国产一区| 欧美自拍偷拍午夜视频| 日韩写真在线| 欧美国产丝袜视频| 欧美日韩精品欧美日韩精品一| 欧美在线中文字幕| 欧美福利视频在线观看| 亚洲综合色在线| 欧美一区二区在线免费播放| 亚洲欧美精品| 在线视频一区二区| 久久夜色精品国产欧美乱极品| 亚洲国产精品高清久久久| 亚洲人成在线观看一区二区| 久久精品日产第一区二区| 亚洲一区免费在线观看| 亚洲男人的天堂在线| 亚洲午夜伦理| 美女图片一区二区| 久久精品久久99精品久久| 久久9热精品视频| 欧美一级黄色录像| 亚洲破处大片| 亚洲第一主播视频| 日韩一级片网址| 亚洲一区二区三区久久| 亚洲精选一区| 欧美在线www| 美女在线一区二区| 午夜精品视频| 欧美一区深夜视频| 亚洲国产成人精品久久久国产成人一区 | 狠狠色2019综合网| 欧美日韩在线视频首页| 亚洲成人在线视频播放| 亚洲国产午夜| 国产主播精品在线| 亚洲欧美变态国产另类| 久久福利电影| 欧美一区二区三区在线免费观看| 久久综合给合久久狠狠狠97色69| 国产性做久久久久久| 亚洲高清三级视频| 久久亚洲综合色| 夜夜爽www精品| 亚洲欧洲久久| 欧美激情第一页xxx| 中文网丁香综合网| 国产精品久久午夜| 亚洲一区二区综合| 9i看片成人免费高清| 美女日韩在线中文字幕| 99日韩精品| 欧美日韩综合视频| 国模吧视频一区| 美女国产一区| 99亚洲一区二区| 国产精品成人aaaaa网站| 亚洲国产91| 在线欧美日韩| 午夜精品视频在线观看| 性欧美18~19sex高清播放| 亚洲欧美另类在线观看| 欧美精品在线观看播放| 一区二区三区四区蜜桃| 欧美阿v一级看视频| 欧美精品在线观看播放| 国产一区二区激情| 亚洲欧美一区二区三区在线| 亚洲激情电影中文字幕| 久久美女性网| 韩国一区二区三区在线观看| 欧美亚洲综合另类| 亚洲视频在线观看一区| 亚洲一区亚洲二区| 国产精品a级| 亚洲在线播放| 亚洲人体1000| 欧美女同视频| 欧美一二区视频| 亚洲午夜精品久久久久久app| 国产欧美日韩综合| 中日韩视频在线观看| 欧美精品二区| 亚洲美女少妇无套啪啪呻吟| 美女主播视频一区| 国产精品久久久久久久免费软件| 亚洲人成人77777线观看| 欧美96在线丨欧| 老司机一区二区三区| 亚洲视频第一页| 亚洲精品看片| 黄色精品一区| 久久九九有精品国产23| 久久久五月天| 亚洲成在人线av| 中文精品一区二区三区 | 一二三区精品福利视频| 国产精品一区2区| 制服丝袜激情欧洲亚洲| 亚洲色图在线视频| 亚洲精品欧洲| 欧美精品精品一区| 一区二区三区日韩| 翔田千里一区二区| 国产一区二区三区四区五区美女 | 国产婷婷精品| 一区二区三区成人精品| 欧美日韩另类一区| 欧美激情亚洲一区| 欧美日韩蜜桃| 久久免费黄色| 久久婷婷久久| 欧美激情一区二区三级高清视频| 久久午夜国产精品| 老巨人导航500精品| 久久综合久久综合九色| 免费久久99精品国产自| 欧美一区二区三区精品| 久久国产精品一区二区| 欧美一区日本一区韩国一区| 久久久天天操| 欧美黄色aaaa| 国产精品一区二区a| 亚洲永久字幕| 99视频在线精品国自产拍免费观看 | 国产精品一区久久久久| 亚洲精品裸体| 欧美激情一区二区三区在线视频观看 | 亚洲国产激情| 麻豆精品传媒视频| 国产精品美女久久久久久2018| 亚洲欧美另类久久久精品2019| 嫩草影视亚洲| 久久精品国产99精品国产亚洲性色| 亚洲承认在线| 亚洲国产欧美一区二区三区丁香婷| 亚洲国产精品成人精品| 在线观看一区| 中国女人久久久| 99国产精品| 亚洲一区二区精品在线观看| 一区二区三区精品| 亚洲小说欧美另类婷婷| 亚洲人成网站精品片在线观看| 欧美在线3区| 麻豆9191精品国产| 国产精品自拍网站| 亚洲国内精品在线| 欧美多人爱爱视频网站| 久久人人爽爽爽人久久久| 亚洲精选一区二区| 另类国产ts人妖高潮视频| 日韩视频一区二区在线观看| 亚洲电影av在线| 国产精品久久久久久av下载红粉| 国产一区二区高清不卡| 久久九九99| 亚洲视频1区2区| 久久精品夜夜夜夜久久| 亚洲黄色片网站| 欧美一区二区三区视频免费| 亚洲手机在线| 性欧美大战久久久久久久免费观看| 欧美国产在线视频| 夜夜嗨av一区二区三区网页| 日韩一级黄色av| 国产精品一区久久久| 亚洲国产黄色片| 欧美日韩美女在线| 激情六月综合| 欧美一区二区三区精品| 久久综合99re88久久爱| 亚洲午夜伦理| 欧美福利精品| 欧美中文字幕| 亚洲黄色成人| 亚洲精品小视频| 欧美大片va欧美在线播放| 国产精品视频一区二区高潮| 亚洲电影免费观看高清完整版| 性欧美精品高清|