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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

codevs——1036 商务旅行

發布時間:2025/3/17 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 codevs——1036 商务旅行 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1036 商務旅行

?

?時間限制: 1 s ?空間限制: 128000 KB ?題目等級 : 鉆石 Diamond 題解 ?查看運行結果 題目描述?Description

某首都城市的商人要經常到各城鎮去做生意,他們按自己的路線去做,目的是為了更好的節約時間。

假設有N個城鎮,首都編號為1,商人從首都出發,其他各城鎮之間都有道路連接,任意兩個城鎮之間如果有直連道路,在他們之間行駛需要花費單位時間。該國公路網絡發達,從首都出發能到達任意一個城鎮,并且公路網絡不會存在環。

你的任務是幫助該商人計算一下他的最短旅行時間。

輸入描述?Input Description

輸入文件中的第一行有一個整數N,1<=n<=30 000,為城鎮的數目。下面N-1行,每行由兩個整數a?和b?(1<=a,?b<=n; a<>b)組成,表示城鎮a和城鎮b有公路連接。在第N+1行為一個整數M,下面的M行,每行有該商人需要順次經過的各城鎮編號。

輸出描述?Output Description

?? ?在輸出文件中輸出該商人旅行的最短時間。

樣例輸入?Sample Input 5 1 2 1 5 3 5 4 5 4 1 3 2 5 樣例輸出?Sample Output

7

?

?

lca裸題

最短距離為每兩個相鄰的點到lca的距離。

#include<cstdio> #include<cstring> #include<cstdlib> #include<iostream> #include<algorithm> #define N 300000 using namespace std; bool vis[N]; int n,m,x,y,tot,lca,ans; int a[N],fa[N],deep[N],size[N],top[N],head[N]; int read() {int x=0,f=1; char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1; ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0'; ch=getchar();}return x*f; } struct Edge {int from,to,next; }edge[N]; int add(int x,int y) {tot++;edge[tot].to=y;edge[tot].next=head[x];head[x]=tot; } int dfs(int x) {size[x]=1;vis[x]=true;deep[x]=deep[fa[x]]+1;for(int i=head[x];i;i=edge[i].next){int to=edge[i].to;if(fa[x]!=to&&!vis[to]){fa[to]=x;dfs(to);size[x]+=size[to];}} } int dfs1(int x) {int t=0; vis[x]=true;if(!top[x]) top[x]=x;for(int i=head[x];i;i=edge[i].next){int to=edge[i].to;if(fa[x]!=to&&size[to]>size[t]) t=to;}if(t&&!vis[t]){top[t]=top[x];dfs1(t);}for(int i=head[x];i;i=edge[i].next){int to=edge[i].to;if(fa[x]!=to&&to!=t&&!vis[to])dfs1(to);} } int LCA(int x,int y) {while(top[x]!=top[y]){if(deep[top[x]]<deep[top[y]])swap(x,y);x=fa[x];}if(deep[x]>deep[y])swap(x,y);return x; } int main() {n=read();a[0]=1;for(int i=1;i<n;i++) x=read(),y=read(),add(x,y),add(y,x);dfs(1);memset(vis,0,sizeof(vis));dfs1(1);m=read();//a[1]=read();for(int i=1;i<=m;i++){a[i]=read();lca=LCA(a[i-1],a[i]);ans+=deep[a[i-1]]+deep[a[i]]-2*deep[lca];//printf("%d %d\n",lca,ans); }printf("%d",ans);return 0; }

?

轉載于:https://www.cnblogs.com/z360/p/7544527.html

總結

以上是生活随笔為你收集整理的codevs——1036 商务旅行的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产视频1区 | 日韩欧美黄色 | 亚洲69| 久久艹国产精品 | 精品人妻码一区二区三区红楼视频 | 欧美撒尿777hd撒尿 | 污网站免费看 | 国产黄视频在线观看 | 中出在线播放 | 91视频在线免费 | 毛片毛片毛片毛片毛片 | 久久久久久9999 | 国产一区二区自拍视频 | 打屁股视频网站 | 天堂资源地址在线 | 亚洲国产乱 | 国产精品无码成人片 | 光棍影院av | 91草草草 | jzz在线观看 | 欧美永久 | 黄站在线观看 | 九九综合九九综合 | 亚洲综合色在线观看 | 538国产精品一区二区免费视频 | 日韩天堂视频 | 美女张开腿让男人桶爽 | 欧美另类极品videosbest使用方法 | 亚洲精品无码久久久 | 超碰免费在线观看 | 亚洲综合色在线观看 | 午夜影院h | 91麻豆精品国产91久久久无需广告 | 中文人妻一区二区三区 | 久久久久成人网 | 久久久久亚洲精品中文字幕 | 欧美国产在线视频 | 69视频国产 | 汗汗视频 | 中文av资源 | av久色| 青青草综合视频 | 丁香四月婷婷 | 久久久久久久久久国产精品 | 亚洲视频在线一区二区 | 成人免费观看cn | 国产精品久久一区二区三区动 | 成人久久久精品乱码一区二区三区 | 天堂中文视频 | 黑人日批视频 | 久久久久久蜜桃一区二区 | 日韩免费在线视频 | 亲嘴脱内衣内裤 | 狠狠操欧美 | 精品人妻无码一区二区三区 | 天堂色av| 人妻一区二区三区 | 91丨porny丨海角社区 | 波多野结衣 一区 | 涩涩资源网| 99久久久无码国产精品性波多 | 波多野结衣中文字幕久久 | 亚洲人成亚洲人成在线观看 | 中文字幕一区二区三区电影 | 涩涩综合 | 亚洲一级黄色大片 | 白峰美羽在线播放 | 激情另类视频 | 日韩美女免费视频 | 婷婷一区二区三区四区 | 国产真人做爰毛片视频直播 | 亚洲图片小说视频 | 日韩乱码在线观看 | 欧美大片在线免费观看 | 免费看黄禁片 | 手机在线观看日韩av | 国产麻豆剧传媒精品国产 | 免费在线观看黄色网址 | 色哟哟无码精品一区二区三区 | 最新色站 | 国产影视一区二区三区 | 中国av一区 | 久久久久欧美 | 久久99精品久久久久久 | 欧美美女一区二区三区 | 日韩电影一区二区三区四区 | 中文字幕第2页 | 岛国av不卡 | 久久人妖| 一级片中文字幕 | 色哟哟国产精品 | 老女人毛片 | 怡红院av亚洲一区二区三区h | 国产精品探花一区二区在线观看 | 久久久久久久久久久久久女过产乱 | 久久国产一 | 无码精品人妻一区二区三区湄公河 | 欧美性极品少妇xxxx | 中文在线亚洲 |