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

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 極限定律 閱讀(1610) 評論(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年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

導航

統計

常用鏈接

留言簿(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>
            久久国产精品网站| 亚洲高清视频在线观看| 亚洲一区三区视频在线观看| 欧美视频官网| 久久www成人_看片免费不卡| 欧美一区二区在线视频| 影音先锋在线一区| 欧美黑人多人双交| 欧美日韩一区二区在线| 午夜视频久久久| 久久久精品国产一区二区三区 | 久久精品视频播放| 在线观看日韩一区| 亚洲日本va午夜在线电影| 欧美午夜激情小视频| 久久久久久久精| 欧美久久在线| 欧美一区久久| 欧美jizz19hd性欧美| 亚洲一区二区综合| 久久综合给合| 亚洲一二区在线| 久久精品国产99国产精品澳门| 亚洲国产精品一区二区www| 亚洲最新在线| 亚洲盗摄视频| 亚洲在线视频网站| 亚洲全部视频| 欧美一区二区日韩一区二区| 亚洲精品美女久久久久| 欧美在线啊v一区| 99视频超级精品| 久久久久女教师免费一区| 亚洲图片欧洲图片av| 麻豆精品精华液| 欧美伊久线香蕉线新在线| 欧美精品成人91久久久久久久| 欧美一区二区三区四区夜夜大片| 欧美福利电影在线观看| 久久久综合精品| 国产精品萝li| 亚洲精品国产精品国产自| 激情欧美一区二区三区| 亚洲欧美日韩国产成人精品影院| 日韩一区二区精品| 免费看精品久久片| 久久夜色精品国产欧美乱| 国产精品久久久久久妇女6080 | 亚洲一二三四区| 日韩一本二本av| 免费观看30秒视频久久| 久久激情五月丁香伊人| 国产精品成av人在线视午夜片| 亚洲电影自拍| 91久久精品久久国产性色也91| 久久se精品一区二区| 欧美一区=区| 国产精品日韩| 亚洲视频1区2区| 亚洲欧美一区在线| 国产精品国色综合久久| 一本色道久久综合狠狠躁篇的优点| 日韩视频免费大全中文字幕| 欧美成人午夜激情在线| 欧美国产日本韩| 亚洲精品你懂的| 欧美噜噜久久久xxx| 亚洲欧洲一区二区三区在线观看 | 欧美日韩国产区| 99在线精品观看| 亚洲一区网站| 国产精品热久久久久夜色精品三区| 一区二区三区视频观看| 亚洲男女自偷自拍| 国产日韩亚洲欧美| 久久久久久久97| 亚洲国产天堂久久综合| 中文一区二区在线观看| 国产精品美女黄网| 久久激情视频久久| 欧美国产先锋| 亚洲视频综合在线| 国产日产欧美精品| 免费在线看成人av| 一本色道久久综合精品竹菊 | 亚洲美女91| 国产精品网站在线| 久久久久国产精品www| 亚洲国产清纯| 性高湖久久久久久久久| 在线观看免费视频综合| 欧美美女操人视频| 欧美一区二区精品久久911| 久久综合影音| 亚洲影视九九影院在线观看| 国产日韩欧美日韩| 欧美1区3d| 午夜精品久久久久久久99樱桃| 你懂的国产精品| 亚洲综合视频在线| 亚洲国产综合视频在线观看| 欧美日韩国产天堂| 欧美中文字幕视频| 亚洲精品在线一区二区| 久久精品国产99国产精品| 亚洲伦理自拍| 国产综合色一区二区三区| 欧美精品日韩| 久久一区二区视频| 亚洲一区免费在线观看| 亚洲国产成人精品视频| 欧美在线视频二区| 在线一区欧美| 亚洲欧洲在线一区| 国产一区日韩欧美| 国产精品视频网站| 欧美日韩视频在线观看一区二区三区 | 亚洲日本欧美在线| 免费久久99精品国产自在现线| 亚洲一区二区三区中文字幕在线| 在线观看视频日韩| 激情综合电影网| 国产热re99久久6国产精品| 欧美日韩国产页| 欧美成人黄色小视频| 久久精品一区二区三区不卡| 中文精品视频| 一区二区欧美激情| 99国产精品久久| 亚洲精品久久| 亚洲欧洲精品一区二区三区波多野1战4 | 亚洲午夜久久久久久尤物 | 欧美日韩在线一区| 欧美国产在线电影| 欧美成人国产一区二区| 美女视频黄 久久| 麻豆精品国产91久久久久久| 久久国产精品久久久久久久久久| 午夜激情一区| 午夜一级在线看亚洲| 亚洲视频免费在线| 一区二区三区视频在线看| 99国产麻豆精品| 一区二区三区精品视频| 一区二区三区国产精品| 亚洲天堂久久| 亚洲欧美在线网| 欧美亚洲一区在线| 久久精品国产第一区二区三区| 欧美一激情一区二区三区| 欧美在线黄色| 久久天天躁狠狠躁夜夜爽蜜月| 久久久久久久综合狠狠综合| 久久久999国产| 免费欧美在线视频| 欧美人成在线| 国产精品有限公司| 狠狠色噜噜狠狠色综合久| 揄拍成人国产精品视频| 亚洲人体偷拍| 亚洲免费视频成人| 久久精品99国产精品酒店日本| 久久婷婷久久| 亚洲品质自拍| 亚洲欧美另类在线观看| 久久久久国产精品一区二区| 欧美成人亚洲| 国产精品日韩欧美一区二区三区| 国产亚洲精品久久久久动| 在线观看欧美黄色| 亚洲无限乱码一二三四麻| 久久国产精品免费一区| 欧美激情亚洲综合一区| 亚洲视频电影在线| 久久精品国产99| 欧美日韩免费观看一区二区三区| 国产精品午夜国产小视频| 亚洲电影免费观看高清完整版在线观看 | 亚洲天堂免费观看| 久久久久久欧美| 欧美日韩在线不卡| 国模套图日韩精品一区二区| 亚洲人成网站在线观看播放| 性欧美精品高清| 亚洲福利在线看| 欧美一区二区黄色| 欧美日韩一区三区四区| 影音先锋在线一区| 香蕉av福利精品导航| 亚洲国产免费看| 久久激情久久| 国产精品视频99| 一本到12不卡视频在线dvd| 久久久久久久综合日本| 99在线|亚洲一区二区| 久久精品九九| 国产日韩av高清| 亚洲午夜精品| 91久久久久久久久久久久久| 欧美一二区视频|