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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Connections between cities

發布時間:2024/10/5 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Connections between cities 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://acm.hdu.edu.cn/showproblem.php?pid=2874

題解:LCA

參考文章:?https://blog.csdn.net/weixin_43272781/article/details/88797088

/* *@Author: STZG *@Language: C++ */ #include <bits/stdc++.h> #include<iostream> #include<algorithm> #include<cstdlib> #include<cstring> #include<cstdio> #include<string> #include<vector> #include<bitset> #include<queue> #include<deque> #include<stack> #include<cmath> #include<list> #include<map> #include<set> //#define DEBUG #define RI register int #define endl "\n" using namespace std; typedef long long ll; //typedef __int128 lll; const int N=100000+10; const int M=100000+10; const int MOD=1e9+7; const double PI = acos(-1.0); const double EXP = 1E-8; const int INF = 0x3f3f3f3f; int t,n,m,k,p,l,r,u,v,c; int ans,cnt,flag,temp,sum,num; int pre[N]; bool vis[N]; int dep[N]; int dp[N][21]; int dist[N]; int que[N]; int first[N]; char str; struct node{int v,w; }x; struct query{int e,id; }y; vector<node>G[N]; int find(int x){return pre[x]==x?x:pre[x]=find(pre[x]);} void marge(int u,int v){int tu=find(u);int tv=find(v);if(tu!=tv){pre[tv]=tu;} } void dfs(int u,int deep){vis[u]=1;que[++num]=u;//num在此處相當于dfs_clockfirst[u]=num;//表示第一次走的編號dep[num]=deep;for(int i=0,j=G[u].size();i<j;i++){int v=G[u][i].v;int w=G[u][i].w;if(!vis[v]){dist[v]=dist[u]+w;dfs(v,deep+1);que[++num]=u;dep[num]=deep;}} } void ST(int n){for(int i=1;i<=n;i++){dp[i][0]=i;}for(int i=0;(1<<i)<n;i++){for(int j=1;j+(1<<i)<n;j++){int a=dp[j][i],b=dp[j+(1<<i)][i];dp[j][i+1]=dep[a]<dep[b]?a:b;}} } int RMQ(int l,int r){k=log2(r-l+1);int a=dp[l][k],b=dp[r-(1<<k)+1][k];return dep[a]<dep[b]?a:b; } int LCA(int u,int v){int x = first[u] , y = first[v];if(x > y) swap(x,y);int res = RMQ(x,y);return que[res]; } void init(){for(int i=1;i<=n;i++){G[i].clear();pre[i]=i;}memset(vis,0,sizeof(vis));memset(dep,0,sizeof(dep));memset(dist,0,sizeof(dist));memset(dp,0,sizeof(dp));memset(que,0,sizeof(que));cnt=0,num=0; } int main() { #ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout); #endif//ios::sync_with_stdio(false);//cin.tie(0);//cout.tie(0);//scanf("%d",&t);while(~scanf("%d%d%d",&n,&m,&c)){init();for(int i=1;i<=m;i++){scanf("%d%d%d",&u,&v,&k);x.v=v;x.w=k;G[u].push_back(x);x.v=u;G[v].push_back(x);marge(u,v);}for(int i=1;i<=n;i++){if(pre[i]==i){dist[i]=0;dfs(i,1);}}ST(2*n-1);for(int i=1;i<=c;i++){scanf("%d%d",&u,&v);if(find(u)==find(v)){int lca=LCA(u,v);cout<<dist[u]+dist[v]-2*dist[lca]<<endl;}else{cout<<"Not connected"<<endl;}}}#ifdef DEBUGprintf("Time cost : %lf s\n",(double)clock()/CLOCKS_PER_SEC); #endif//cout << "Hello world!" << endl;return 0; }

?

總結

以上是生活随笔為你收集整理的Connections between cities的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 美女国产免费 | 欧美激情xxxxx | 亚洲夜夜爱 | 国产又粗又长又爽 | 天堂色av | 牛牛影视一区二区 | 亚洲毛片a | 秋霞在线视频 | 日韩中文字幕观看 | 国产又粗又猛视频免费 | 天天干天天添 | 人成在线| 亚洲国产精品国自产拍av | 欧美高清在线观看 | 精品1区2区3区 | 国产熟妇搡bbbb搡bbbb | 影音先锋亚洲天堂 | 爱插网| 日韩一区二区高清视频 | 伊人久久爱 | 一区二区三区www污污污网站 | 国产日韩欧美二区 | 国产日本在线观看 | 懂色tv | 精品一区二区久久久 | 最新天堂在线视频 | 国产中文字幕二区 | xxxxx毛片 | 欧美激情16p| 日本最新中文字幕 | 四虎影院新网址 | 一区二区免费 | 国产精品免费视频观看 | 狼干综合 | 制服丝袜一区二区三区 | 亚洲日本综合 | 国产成人综合网 | 日韩少妇内射免费播放 | 欧美综合视频 | 亚洲国产精品一区二区三区 | 国内偷拍一区二区 | 欧美精品一区视频 | a天堂中文字幕 | 91操操 | 丰满大乳露双乳呻吟 | 国产碰碰 | 插我一区二区在线观看 | 一级少妇女片 | 女人下面流白浆的视频 | 午夜精品美女久久久久av福利 | 日日操夜夜爽 | 韩国美女一区 | 最好看的中文字幕 | 欧美,日韩,国产在线 | 肉丝超薄少妇一区二区三区 | www.99色 | 二区免费视频 | 欧美日韩人妻精品一区在线 | 国产精品8 | 亚洲在线观看一区二区 | 激情综合啪啪 | 伊人影视大全 | 午夜色播| 日韩伦理视频 | 西野翔之公侵犯中文字幕 | 黄在线观看 | 欧美成人午夜视频 | 91在线观看成人 | 国产xxxxwwww| 日韩欧美一区二区三区免费观看 | 超碰2020| 日本a网 | 国产日韩高清在线 | www.涩涩爱| 一起操网站 | 九色91av| 中文字幕一区二区三区人妻电影 | 成人国产精品入口 | 国产黄色三级网站 | 久久久久久欧美精品se一二三四 | 男人用嘴添女人下身免费视频 | 国产丝袜在线视频 | xxxx69国产 | 久久亚洲aⅴ无码精品 | 久久久久久久久久福利 | 午夜日韩精品 | 亚洲码国产精品高潮在线 | 日本免费色视频 | 国产精选在线 | 中国zzji女人高潮免费 | 亚洲亚洲人成综合网络 | 性活交片大全免费看 | 人妻久久一区二区 | 精品国产无码一区二区 | 亚洲精选一区 | 瑟瑟在线观看 | 国内精品小视频 | 精品动漫3d一区二区三区免费版 | 看了让人下面流水的视频 |