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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

交通运输线(LCA)

發布時間:2024/10/12 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 交通运输线(LCA) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目大意:

戰后有很多城市被嚴重破壞,我們需要重建城市。然而,有些建設材
料只能在某些地方產生。因此,我們必須通過城市交通,來運送這些
材料的城市。由于大部分道路已經在戰爭期間完全遭到破壞,可能有
兩個城市之間沒有道路。當然在運輸線中,更不可能存在圈。
現在,你的任務來了。給你戰后的道路情況,我們想知道,兩個城市
之間是否存在道路,如果存在,輸出這兩個城市之間的最短路徑長度

【輸入】
第一行一個整數 Case(Case<=10)表示測試數據組數。
每組測試數據第一行三個整數 N,M 和 C(2<=N<=10,000)(0<=M<10,
000) (1<=c<=1000000)共有 N 個城市,現存 M 條邊,共有 C 對運
輸需求。
接下來 M 行,每行三個整數 A 和 B,D(1<=A,B<=N,A 不等于 B)表
示從 A 到 B 有一條直接的公路,且距離為 D。
最后 C 行,每行兩個整數,S 和 T(1<=S,T<=N,S 不等于 T),即詢問從 S
到 T 的最短路徑長度。
【輸出】
共 Case 行,否存在從 S 到 T 的路徑,則輸出最短路徑,否則輸出“Not
connected”

解題思路:lca稍微變形

1 #include<iostream> 2 #include<cstdio> 3 #include<vector> 4 #include<cstring> 5 using namespace std; 6 const int N=1e4+5; 7 8 struct node1{ 9 int to,len; 10 node1(int to,int len){ 11 this->to=to; 12 this->len=len; 13 } 14 }; 15 struct node2{ 16 int to,id; 17 node2(int to,int id){ 18 this->to=to; 19 this->id=id; 20 } 21 }; 22 23 vector<node1>ve[N]; 24 vector<node2>que[N]; 25 bool vis[N];//記錄是否在樹上被訪問 26 bool used[N];//記錄節點是否在整張圖中被訪問 27 int fa[N];//記錄父節點 28 int res[N];//查詢結果 29 int dis[N];//dis[i]記錄點i里根節點距離 30 int V,E; 31 32 //初始化 33 void init(){ 34 for(int i=1;i<=V;i++){ 35 fa[i]=i; 36 ve[i].clear(); 37 que[i].clear(); 38 } 39 memset(vis,false,sizeof(vis)); 40 memset(res,-1,sizeof(res)); 41 } 42 43 int find(int x){ 44 return x==fa[x]?x:fa[x]=find(fa[x]); 45 } 46 47 void Union(int a,int b){ 48 int x=find(a),y=find(b); 49 if(x!=y){ 50 fa[x]=y; 51 } 52 } 53 54 void lca(int i){ 55 vis[i]=true; 56 used[i]=true; 57 for(int j=0;j<ve[i].size();j++){ 58 node1 nd=ve[i][j]; 59 //判斷該點是否在圖中未被訪問過 60 if(!used[nd.to]){ 61 dis[nd.to]=dis[i]+nd.len; 62 lca(nd.to); 63 Union(nd.to,i); 64 } 65 } 66 for(int j=0;j<que[i].size();j++){ 67 node2 nd=que[i][j]; 68 //判斷該點是否在樹上被訪問過 69 if(vis[nd.to]&&res[nd.id]==-1){ 70 if(nd.to==i) 71 res[nd.id]=0; 72 else 73 res[nd.id]=dis[nd.to]+dis[i]-2*dis[find(nd.to)]; 74 } 75 } 76 } 77 78 int main(){ 79 int cas; 80 scanf("%d",&cas); 81 while(cas--){ 82 int q; 83 scanf("%d%d%d",&V,&E,&q); 84 init(); 85 for(int i=1;i<=E;i++){ 86 int a,b,d; 87 scanf("%d%d%d",&a,&b,&d); 88 ve[a].push_back(node1(b,d)); 89 ve[b].push_back(node1(a,d)); 90 } 91 for(int i=1;i<=q;i++){ 92 int x,y; 93 scanf("%d%d",&x,&y); 94 que[x].push_back(node2(y,i)); 95 que[y].push_back(node2(x,i)); 96 } 97 98 //LCA 99 for(int i=1;i<=V;i++){ 100 if(!used[i]){ 101 memset(vis,false,sizeof(vis)); 102 lca(i); 103 } 104 } 105 //輸出查詢結果 106 for(int i=1;i<=q;i++){ 107 if(res[i]!=-1) 108 printf("%d\n",res[i]); 109 else 110 printf("Not connected\n"); 111 } 112 } 113 }

?

轉載于:https://www.cnblogs.com/fu3638/p/7252086.html

總結

以上是生活随笔為你收集整理的交通运输线(LCA)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产一区导航 | 日韩视频免费观看高清完整版在线观看 | 午夜小影院 | 久久久久久久久久久久久久久 | 欧美专区在线播放 | 免费看污片的网站 | 欧美射射 | 亚洲一区二区三区四区在线观看 | 爱上av | 青青草91| 在线播放av片| 中日韩精品视频在线观看 | 日韩伊人久久 | 全部孕妇毛片丰满孕妇孕交 | 国产9区| 免费黄色三级 | 91呦呦| 成人免费网站视频 | 欧美一区二区在线看 | 中文字幕av高清 | 韩国三级hd中文字幕 | 超碰啪啪 | 中文字幕第一页在线播放 | 亚洲色图欧美 | 亚洲中文字幕一区二区在线观看 | 91色九色| 成年人免费看视频 | 精品国产一级久久 | 日韩网站免费观看 | 国产性猛交普通话对白 | 国产伦精品一区二区三区 | 亚洲日本成人在线观看 | 91大神小宝寻花在线观看 | 成人教育av | 一区二区三区在线 | 久久久噜噜噜www成人网 | 久久久久久久av | 国产精品无码久久久久成人app | 久久理论 | 亚洲欧美综合一区二区 | 少妇丰满尤物大尺度写真 | 337p亚洲精品色噜噜噜 | 17c在线| 欧美破处女| 91干视频 | 在线观看精品视频 | 国产美女在线看 | 久久77777| 日韩在线免费视频观看 | n0659极腔濑亚美莉在线播放播放 | 丝袜熟女一区二区 | 亚洲一区二区三区电影 | 成人动漫一区二区三区 | 欧美久久一区二区三区 | 亚洲国产精品久久久久久 | 艳情五月| 婷婷色av | 欧美九九| 欧美男优| 美女野外找人搭讪啪啪 | 中文字幕Av日韩精品 | 成长快手短视频在线观看 | 亚洲国产精品免费在线观看 | 日韩欧美国产成人精品免费 | 日韩欧美国产成人精品免费 | 少妇太紧太爽又黄又硬又爽 | 久草免费在线观看视频 | 中文久草 | 黄色网av | 九九免费精品视频 | 天堂网av2014 | 精品视频一二三区 | 加勒比成人av | 激情综合网五月天 | yw视频在线观看 | www.久久成人| 久草福利资源 | 黄网站在线免费看 | 国产黄色激情视频 | 久久久社区 | 黄色小视频免费 | 国产毛片高清 | 亚洲综合色小说 | 国产精品人成在线观看免费 | 少妇精品久久久久www | 奇米在线777 | 欧美日韩一区二区三区在线观看 | 日批av | 国产成人无码一区二区在线播放 | 国产精品电影在线观看 | 亚洲天堂av在线播放 | 日批视频免费 | 欧洲天堂网 | 99蜜桃臀久久久欧美精品网站 | 伊人蕉久| 国产精品无码久久久久久电影 | 激情偷乱人成视频在线观看 | 正在播放木下凛凛88av | 国产999在线 |