日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hdu Caocao's Bridges(无向图边双连通分量,找出权值最小的桥)

發(fā)布時間:2025/3/8 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hdu Caocao's Bridges(无向图边双连通分量,找出权值最小的桥) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1 /* 2 題意:給出一個無向圖,去掉一條權值最小邊,使這個無向圖不再連同! 3 4 tm太坑了... 5 1,如果這個無向圖開始就是一個非連通圖,直接輸出0 6 2,重邊(兩個節(jié)點存在多條邊, 權值不一樣) 7 3,如果找到了橋的最小權值為0,也就是橋上的士兵數為0,那么還是要最少派一個 8 士兵過去炸掉橋! 9 10 思路:假設每兩個節(jié)點最多只有一條邊進行相連! 11 進行tarjan算法,如果該算法調用了超過2次,說明這個原圖就是不連通的! 12 否則在tarjan算法中將橋存起來!然后我們遍歷每一座橋,看一看我們找到的 13 橋(連接的兩個定點分別是u, v)是不是(u, v)只有一條路相連接,如果是的, 14 那么就跟新最小值! 15 */ 16 #include<iostream> 17 #include<cstdio> 18 #include<cstring> 19 #include<algorithm> 20 #define M 1000005 21 #define INF 0x3f3f3f3f 22 #define N 1005 23 using namespace std; 24 struct EDGE{ 25 int u, v, w, nt; 26 EDGE(){} 27 EDGE(int u, int v, int w, int nt){ 28 this->u=u; 29 this->v=v; 30 this->w=w; 31 this->nt=nt; 32 } 33 }; 34 35 EDGE edge[M]; 36 EDGE brige[M]; 37 int first[N]; 38 int low[N], pre[N]; 39 int dfs_clock; 40 int n, m, cnt, ret; 41 42 43 void tarjan(int u, int fa){ 44 low[u]=pre[u]=++dfs_clock; 45 for(int e=first[u]; e!=-1; e=edge[e].nt){ 46 int v=edge[e].v; 47 48 if(!pre[v]){ 49 tarjan(v, u); 50 low[u]=min(low[u], low[v]); 51 if(low[v]>pre[u]) 52 brige[ret++]=edge[e]; 53 } 54 else if(v!=fa && pre[u]>pre[v]) 55 low[u]=min(low[u], pre[v]); 56 } 57 } 58 59 int main(){ 60 while(scanf("%d%d", &n, &m) && (n||m)){ 61 memset(first, -1, sizeof(first)); 62 cnt=0; 63 while(m--){ 64 int u, v, w; 65 scanf("%d%d%d", &u, &v, &w); 66 edge[cnt]=EDGE(u, v, w, first[u]); 67 first[u]=cnt++; 68 edge[cnt]=EDGE(v, u, w, first[v]); 69 first[v]=cnt++; 70 } 71 dfs_clock=0; 72 ret=0; 73 memset(low, 0, sizeof(low)); 74 memset(pre, 0, sizeof(pre)); 75 int flag=0; 76 for(int i=1; i<=n; ++i) 77 if(!pre[i]){ 78 ++flag; 79 if(flag==2) break; 80 tarjan(i, -1); 81 } 82 83 int minNum=INF; 84 if(flag==2) minNum=0; 85 else{ 86 for(int i=0; i<ret; ++i) 87 if(brige[i].w<minNum){//對假定的橋判斷 88 int cc=0; 89 for(int e=first[brige[i].u]; e!=-1; e=edge[e].nt) 90 if(edge[e].v==brige[i].v) ++cc; 91 if(cc==1) minNum=brige[i].w;//說明是真正的橋 92 } 93 if(minNum==INF) minNum=-1; 94 else if(minNum==0) minNum=1;//這一句不要忘記了! 95 } 96 printf("%d\n", minNum); 97 } 98 return 0; 99 }

?

轉載于:https://www.cnblogs.com/hujunzheng/p/3937412.html

總結

以上是生活随笔為你收集整理的hdu Caocao's Bridges(无向图边双连通分量,找出权值最小的桥)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久久久女人精品毛片九一 | 九一在线视频 | 91日韩在线视频 | 久久久久爱 | 国产噜噜噜噜噜久久久久久久久 | 国产精品久久久久久久午夜 | 97国产| 午夜伦理福利视频 | 樱桃香蕉视频 | 久草剧场 | 国产女人呻吟高潮抽搐声 | 中文字幕777 | 久久思| 你懂得在线视频 | 国产做爰视频免费播放 | 在线观看三级视频 | 男女涩涩网站 | 欧美亚洲国产日韩 | 19禁大尺度做爰无遮挡电影 | 久久国产精品免费看 | 亚洲一个色 | 午夜丁香网 | 色老板最新地址 | 天天天天射 | 97日韩精品 | 色婷婷激情av | 日韩精品在线视频免费观看 | 国产精品成人久久久久 | 91麻豆精品91久久久久同性 | 69福利网| 尤物视频免费观看 | 麻豆网站免费观看 | 国产黄色高清视频 | 欧美综合自拍 | www.夜夜操| 精品日韩一区二区三区 | 香蕉综合网 | 青青草在线免费观看 | 日本精品久久久久中文字幕 | 99re免费视频 | 小视频在线看 | 男男做性免费视频网 | 北条麻妃一区二区三区免费 | 毛片网站在线播放 | 成年人观看视频 | 超碰97国产在线 | 欧洲一级黄| 色综合av综合无码综合网站 | 美女av网| 欧美精品123 | 我们的2018中文免费看 | 国产成人+综合亚洲+天堂 | 国产免费观看一区 | 特级西西人体444www | 国产成人av片 | 免费在线播放 | 91av视频在线免费观看 | 成人午夜电影网站 | 虫族全黄h全肉污文 | 98精品国产 | 少妇被按摩师摸高潮了 | 天天艹天天射 | 成人aⅴ视频 | 成人在线观看黄色 | 国产超碰 | 日日夜夜艹 | 国产精品一区二区三区四区 | 波多野结衣亚洲 | 国产欧美激情在线观看 | 亚洲国产精品成人av | 日本在线中文字幕专区 | 日本韩国免费观看 | 欧美性猛交99久久久久99按摩 | 色欧美视频 | 欧洲美女与动交ccoo | 蜜桃精品视频 | 成人涩涩视频 | 帮我拍拍漫画全集免费观看 | 国产亚洲欧美日韩高清 | 四虎午夜 | 色偷偷综合 | 色综合99久久久无码国产精品 | 国产ts在线 | 国产免费久久 | 黑人玩弄人妻一区二 | 女生裸体无遮挡 | 91伊人网 | 欧美国产激情 | h片观看| www色亚洲 | 日韩一级片中文字幕 | 在线91观看 | 男男毛片 | 亚洲色图偷拍视频 | 男女瑟瑟视频 | 国产精品12| 天堂俺去俺来也www 欧美大片在线播放 | 青青草超碰| 国产伦乱视频 |