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

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://m.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 極限定律 閱讀(1564) 評論(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,你建圖的方式很奇怪,我也看不懂你到底是怎么建圖的。可以解釋下嗎?我直接用vector<int> edg[]搞的,刪除重邊。  回復  更多評論   

<2009年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

導航

統計

常用鏈接

留言簿(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>
            一区二区三区在线观看欧美| 国产一区在线免费观看| 日韩视频免费在线| 亚洲精品1234| 欧美日韩在线播放一区二区| 亚洲一区免费| 久久成人资源| 亚洲剧情一区二区| 一区二区三区久久精品| 国产精一区二区三区| 久久久久免费观看| 欧美成人精品在线| 亚洲专区一二三| 欧美一区二区三区另类| 亚洲激情二区| 亚洲午夜日本在线观看| 一区二区三区中文在线观看| 亚洲日本电影在线| 国产欧美日韩一区| 亚洲区欧美区| 国产亚洲欧美日韩在线一区| 亚洲电影av| 国产欧美日韩精品专区| 欧美激情在线有限公司| 国产精品久久久久久久浪潮网站 | 国产麻豆精品在线观看| 免费精品99久久国产综合精品| 欧美精品免费在线| 久久久精品2019中文字幕神马| 免费亚洲一区| 亚洲欧美日韩系列| 免费在线看一区| 欧美在线免费观看| 欧美日韩精品三区| 欧美黄色aa电影| 国产欧美日韩一级| 9色国产精品| 亚洲人成在线影院| 欧美在线免费观看亚洲| 亚洲性夜色噜噜噜7777| 免费看av成人| 久久夜色精品国产亚洲aⅴ| 欧美午夜在线观看| 亚洲人成人一区二区在线观看| 一区二区亚洲精品国产| 午夜精品99久久免费| 亚洲一区二区三区涩| 欧美激情在线观看| 欧美国产视频在线| 亚洲第一视频网站| 久久精品国产精品亚洲综合| 欧美一区国产二区| 国产精品少妇自拍| 日韩亚洲综合在线| 一区二区精品在线观看| 嫩模写真一区二区三区三州| 久久久亚洲人| 国产一级揄自揄精品视频| 亚洲夜间福利| 午夜精品福利在线| 国产精品国产三级国产aⅴ浪潮| 亚洲精品久久| 夜夜夜久久久| 欧美视频日韩| 亚洲一区免费看| 性亚洲最疯狂xxxx高清| 国产日韩欧美综合精品| 午夜精品免费视频| 久久国产精品久久久久久| 国产麻豆9l精品三级站| 欧美一区91| 女女同性女同一区二区三区91| 一区二区三区自拍| 欧美成人精品一区二区| 亚洲精品影院在线观看| 亚洲一区二区精品在线观看| 国产精品麻豆va在线播放| 亚洲自拍偷拍色片视频| 久久久久网址| 亚洲激情一区二区| 欧美日韩国产限制| 午夜精品久久久久久99热软件| 久久午夜影视| 亚洲精选91| 国产精品qvod| 久久精品色图| 亚洲精品自在在线观看| 先锋影音国产一区| 在线观看一区视频| 欧美日韩精品系列| 性欧美超级视频| 欧美 日韩 国产在线| 中文在线一区| 国内精品久久久久久久影视麻豆 | 亚洲欧美第一页| 欧美成人在线免费观看| 亚洲淫片在线视频| 精品动漫3d一区二区三区免费版| 欧美精品在线一区二区| 午夜国产一区| 亚洲精品免费在线| 久久久久久久久久久一区 | 午夜免费电影一区在线观看| 激情久久久久久久| 欧美日韩国产一级片| 久久精品一区二区三区不卡| 亚洲人成在线观看一区二区| 久久激情五月婷婷| 一区二区三区回区在观看免费视频| 国产亚洲欧美一区二区| 欧美理论视频| 久久影院午夜片一区| 亚洲欧美在线观看| 亚洲美女免费精品视频在线观看| 久久夜色精品国产欧美乱极品| 亚洲字幕一区二区| 日韩视频免费在线观看| 亚洲成人在线视频播放| 国产日韩欧美精品一区| 欧美日韩在线三级| 欧美激情一区二区三区| 久久精品麻豆| 欧美在线观看视频一区二区三区| 一本色道久久综合狠狠躁篇的优点| 欧美国产先锋| 国产精品日韩一区二区三区| 欧美jizz19性欧美| 久久精品在线免费观看| 午夜在线视频一区二区区别| 久久成人综合视频| 欧美国产日韩在线| 亚洲网站视频福利| 亚洲伦理久久| 亚洲日本理论电影| 亚洲国产欧美在线| 亚洲国产精品电影在线观看| 极品尤物av久久免费看| 国产视频久久网| 国产婷婷97碰碰久久人人蜜臀| 国产精品九九| 国产精品老女人精品视频| 国产精品成人一区| 国产精品大片wwwwww| 国产精品v亚洲精品v日韩精品| 欧美理论片在线观看| 欧美日韩一区高清| 欧美性生交xxxxx久久久| 欧美亚一区二区| 国产精品影音先锋| 国产中文一区| 狠狠色狠狠色综合日日五| 狠狠色丁香久久婷婷综合_中| 极品少妇一区二区| 亚洲欧洲精品一区| 亚洲手机在线| 欧美一区二区免费| 久久久在线视频| 欧美激情第10页| 9色国产精品| 亚洲一区二区欧美| 久久久国产精品一区| 欧美成人精品1314www| 欧美精品在线观看91| 国产精品成人久久久久| 国产一区导航| 日韩午夜电影av| 亚洲欧美视频在线观看| 久久久人人人| 亚洲看片一区| 亚洲一区二区三区四区在线观看| 欧美一级免费视频| 欧美成人午夜77777| 国产精品一区免费在线观看| 激情综合色综合久久综合| 一本在线高清不卡dvd| 久久精品国产亚洲aⅴ| 亚洲国产精品久久久久婷婷884 | 99国产精品国产精品久久| 亚洲图片欧美日产| 老色批av在线精品| 国产精品免费福利| 亚洲激情视频在线| 久久精品国产久精国产思思| 亚洲国产精品女人久久久| 亚洲欧美久久久| 欧美国产日韩一区二区三区| 国产曰批免费观看久久久| avtt综合网| 免播放器亚洲一区| 亚洲综合99| 欧美日韩综合精品| 亚洲国产精品久久91精品| 欧美一区二区三区四区视频| 亚洲狠狠丁香婷婷综合久久久| 亚洲欧美在线x视频| 欧美日韩视频第一区| 亚洲国产成人久久综合一区| 久久精品一区蜜桃臀影院| 亚洲最新视频在线| 欧美精品久久久久久久免费观看 |