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

POJ 3177 Redundant Paths 雙連通分量+縮點

Description

In order to get from one of the F (1 <= F <= 5,000) grazing fields (which are numbered 1..F) to another field, Bessie and the rest of the herd are forced to cross near the Tree of Rotten Apples. The cows are now tired of often being forced to take a particular path and want to build some new paths so that they will always have a choice of at least two separate routes between any pair of fields. They currently have at least one route between each pair of fields and want to have at least two. Of course, they can only travel on Official Paths when they move from one field to another.

Given a description of the current set of R (F-1 <= R <= 10,000) paths that each connect exactly two different fields, determine the minimum number of new paths (each of which connects exactly two fields) that must be built so that there are at least two separate routes between any pair of fields. Routes are considered separate if they use none of the same paths, even if they visit the same intermediate field along the way.

There might already be more than one paths between the same pair of fields, and you may also build a new path that connects the same fields as some other path.

Input

Line 1: Two space-separated integers: F and R

Lines 2..R+1: Each line contains two space-separated integers which are the fields at the endpoints of some path.

Output

Line 1: A single integer that is the number of new paths that must be built.

Sample Input

7 7
1 2
2 3
3 4
2 5
4 5
5 6
5 7

Sample Output

2

Hint

Explanation of the sample:

One visualization of the paths is:
   1   2   3
+---+---+
| |
| |
6 +---+---+ 4
/ 5
/
/
7 +
Building new paths from 1 to 6 and from 4 to 7 satisfies the conditions.
   1   2   3
+---+---+
: | |
: | |
6 +---+---+ 4
/ 5 :
/ :
/ :
7 + - - - -
Check some of the routes:
1 – 2: 1 –> 2 and 1 –> 6 –> 5 –> 2
1 – 4: 1 –> 2 –> 3 –> 4 and 1 –> 6 –> 5 –> 4
3 – 7: 3 –> 4 –> 7 and 3 –> 2 –> 5 –> 7

Every pair of fields is, in fact, connected by two routes.

It's possible that adding some other path will also solve the problem (like one from 6 to 7). Adding two paths, however, is the minimum.

Source


    題意大意:一群牛將被在一個特定路徑構成的農場上遷移,每兩塊農場之間都至少有一條通道,這些牛要求每兩塊路徑至少要有兩條通道,求最少需要修建多少條路才能滿足要求。
    這題的解法與http://www.shnenglu.com/mythit/archive/2009/05/29/86082.html完全一樣,只是題目中說了圖中有可能存在平行邊,這里必須判斷一下。我還是很偷懶的用了STL里的vector模擬鄰接矩陣,并且開了個5001*5001的bool數組判斷平行邊。結果導致代碼的效率和空間消耗都很大,110MS和將近24M的內存空間。如果自己建圖的話,效率能提高很多。

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

const int MAXN = 5001;
vector
< vector<int> > adj;
bool hash[MAXN][MAXN];
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;
    
while(scanf("%d %d",&n,&m)!=EOF){
        adj.assign(n
+1,vector<int>());
        memset(hash,
false,sizeof(hash));
        
while(m--){
            scanf(
"%d %d",&u,&v);
            
if(!hash[u][v]){
                hash[u][v]
=true;
                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-30 01:18 極限定律 閱讀(1575) 評論(4)  編輯 收藏 引用 所屬分類: ACM/ICPC

評論

# re: POJ 3177 Redundant Paths 雙連通分量+縮點 2009-08-14 09:53 zeus

省去hash可以這樣判重空間小很多 時間沒多多少 依然0ms
bool isok( int u, int v )//判重
{
for ( int i= 0; i< g[u].size(); ++i )
if ( g[u][i]== v ) return false;

return true;
}  回復  更多評論   

# re: POJ 3177 Redundant Paths 雙連通分量+縮點 2009-08-14 20:55 極限定律

我也想這樣做的,不過怕時間效率變低,就偷懶直接HASH了@zeus
  回復  更多評論   

# re: POJ 3177 Redundant Paths 雙連通分量+縮點 2011-04-28 09:30 Icyeye

拜讀了哈,幫助很大,謝啦^-^
但是有一點,那個visit[u]=2不知道有什么用,但注釋掉后能快三分之二左右的時間~~  回復  更多評論   

# re: POJ 3177 Redundant Paths 雙連通分量+縮點[未登錄] 2012-07-31 20:48 bigrabbit

樓主,我發現個問題。這組數據對于下面的數據
5 6
1 2
1 3
2 3
3 4
3 5
4 5
輸出的low數組是 0 0 0 1 1
是不對的,應該是0 0 0 0 0,你建圖的方式很奇怪,我也看不懂你到底是怎么建圖的??梢越忉屜聠幔课抑苯佑胿ector<int> edg[]搞的,刪除重邊。  回復  更多評論   

<2009年8月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
303112345

導航

統計

常用鏈接

留言簿(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>
            欧美日韩三区| 国产综合色产在线精品| 亚洲视频在线一区观看| 亚洲免费黄色| 欧美日韩在线大尺度| 亚洲在线中文字幕| 亚洲一区久久久| 国产亚洲一区二区三区在线播放 | 欧美日韩免费精品| 亚洲先锋成人| 午夜视频在线观看一区二区三区 | 日韩天堂av| 99热免费精品在线观看| 国产精品看片你懂得| 小嫩嫩精品导航| 久久精品国产2020观看福利| 在线观看欧美黄色| 亚洲欧洲精品一区二区| 欧美日韩综合网| 久久久99国产精品免费| 免费不卡欧美自拍视频| 一区二区三区久久久| 午夜激情亚洲| 亚洲精品视频在线看| 国产精品99久久久久久人| 合欧美一区二区三区| 最新69国产成人精品视频免费| 国产精品久久久久久久久久妞妞| 久久gogo国模裸体人体| 免费成人高清视频| 欧美一区成人| 欧美成人伊人久久综合网| 性欧美暴力猛交另类hd| 欧美jizz19hd性欧美| 欧美在线一区二区| 欧美精品观看| 久久天天躁狠狠躁夜夜av| 欧美日韩123| 乱码第一页成人| 国产精品人成在线观看免费| 欧美成人精品一区| 国产嫩草一区二区三区在线观看 | 久久国产精品久久久久久久久久 | 一本久久知道综合久久| 久久精品国产一区二区三区免费看 | 黄色成人91| 亚洲性感激情| 一区二区三区国产精品| 久久久综合香蕉尹人综合网| 欧美在线1区| 国产精品第三页| 91久久综合亚洲鲁鲁五月天| 狠色狠色综合久久| 午夜精品成人在线| 午夜精品一区二区三区电影天堂 | 精品动漫3d一区二区三区免费版| 一区二区三区产品免费精品久久75| 狠狠综合久久av一区二区老牛| 亚洲一区国产视频| 亚洲欧美成人网| 欧美特黄一区| 亚洲免费观看高清在线观看| 亚洲久久成人| 欧美日韩高清在线观看| 亚洲国产精品va在看黑人| 亚洲国内精品| 麻豆av福利av久久av| 免费成人黄色av| 欲香欲色天天天综合和网| 欧美在线国产| 乱中年女人伦av一区二区| 伊人精品视频| 久久人91精品久久久久久不卡| 久久中文欧美| 亚洲激情六月丁香| 欧美激情无毛| av不卡在线| 欧美一区三区三区高中清蜜桃| 国产精品区二区三区日本| 亚洲在线播放电影| 久久夜精品va视频免费观看| 欲香欲色天天天综合和网| 欧美 日韩 国产在线| 亚洲人人精品| 亚洲影视中文字幕| 国产亚洲电影| 老司机成人网| 亚洲精品一二三区| 午夜精品免费| 永久免费精品影视网站| 欧美国产一区二区三区激情无套| 亚洲美女精品一区| 欧美在线免费一级片| 好吊日精品视频| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲精品乱码久久久久| 亚洲欧美日韩国产中文| 极品中文字幕一区| 欧美极品一区| 午夜精品国产精品大乳美女| 亚洲第一在线综合在线| 亚洲一区三区视频在线观看| 黑人中文字幕一区二区三区| 欧美激情综合五月色丁香| 亚洲一区二区三区久久| 欧美 日韩 国产一区二区在线视频 | 国产一区视频网站| 欧美精品在线观看播放| 欧美一区二粉嫩精品国产一线天| 欧美电影在线| 欧美一级片一区| 亚洲精选成人| 国产一区二区黄色| 欧美视频不卡| 免费在线国产精品| 欧美一区二区三区日韩视频| 亚洲人成网站影音先锋播放| 久久久精品一区| 亚洲免费在线播放| 亚洲精品在线电影| 一色屋精品视频在线看| 国产精品日本| 欧美日韩伦理在线免费| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲性图久久| 最近中文字幕mv在线一区二区三区四区 | 欧美午夜www高清视频| 久久深夜福利免费观看| 欧美一区二区三区视频在线| 亚洲六月丁香色婷婷综合久久| 免费在线观看日韩欧美| 久久久精品动漫| 亚洲欧美日韩在线高清直播| 日韩午夜电影在线观看| 亚洲国产精品99久久久久久久久| 国产日韩精品在线观看| 国产精品成人在线| 欧美色欧美亚洲另类七区| 欧美高清在线一区| 久久亚洲影院| 久久这里只有精品视频首页| 久久精品123| 久久se精品一区二区| 欧美在线免费视屏| 性18欧美另类| 久久精品123| 久久夜色精品国产欧美乱| 久久精品九九| 久久香蕉国产线看观看网| 久久精品亚洲一区二区| 久久久久高清| 老司机一区二区三区| 免费欧美日韩| 欧美成年人网站| 欧美精品18videos性欧美| 欧美日韩精品| 国产精品尤物| 国产一区二区日韩| 在线国产精品播放| 亚洲娇小video精品| 亚洲精品中文字幕女同| a4yy欧美一区二区三区| 亚洲在线成人精品| 久久国产精品久久精品国产| 久久亚洲二区| 亚洲福利国产| 一区二区三区视频观看| 小黄鸭视频精品导航| 久久精品中文字幕免费mv| 麻豆乱码国产一区二区三区| 欧美精品一区二| 国产精品网站一区| 亚洲高清色综合| 亚洲视频二区| 久久综合给合久久狠狠狠97色69| 麻豆精品视频| 99re这里只有精品6| 欧美一级大片在线免费观看| 老鸭窝91久久精品色噜噜导演| 欧美日本一道本| 国产一区在线播放| 亚洲美女网站| 久久国产主播精品| 亚洲精选成人| 久久久www成人免费无遮挡大片| 欧美大片网址| 国产精品自拍一区| 日韩视频免费| 久久久久久综合| 一区二区免费在线播放| 久久婷婷久久| 国产美女一区| 亚洲视频图片小说| 欧美黄色免费| 欧美在线观看一区二区| 欧美性猛交xxxx免费看久久久 | 亚洲黄色av| 久久久久se| 一本色道久久88综合亚洲精品ⅰ| 久久久人人人|