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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

洛谷 3398 仓鼠找sugar 【模板】判断树上两链有交

發(fā)布時間:2024/4/17 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 洛谷 3398 仓鼠找sugar 【模板】判断树上两链有交 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

【題解】

  題意就是判斷樹上兩條鏈是否有交??谠E是“判有交,此鏈有彼祖”。即其中一條鏈的端點的Lca在另一條鏈上。

  我們設(shè)兩條鏈的端點的Lca中深度較大的為L2,對L2與另一條鏈的兩個端點分別求Lca,若滿足其中一個Lca等于L2,即表示兩鏈有交。

  

1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define LL long long 5 #define rg register 6 #define N 500010 7 using namespace std; 8 int n,m,tot,last[N],siz[N],fa[N],dep[N],hvy[N],top[N]; 9 struct edge{ 10 int to,pre; 11 }e[N<<1]; 12 inline int read(){ 13 int k=0,f=1; char c=getchar(); 14 while(c<'0'||c>'9')c=='-'&&(f=-1),c=getchar(); 15 while('0'<=c&&c<='9')k=k*10+c-'0',c=getchar(); 16 return k*f; 17 } 18 void dfs1(int x){ 19 siz[x]=1; dep[x]=dep[fa[x]]+1; 20 for(rg int i=last[x],to;i;i=e[i].pre)if((to=e[i].to)!=fa[x]){ 21 fa[to]=x; dfs1(to); siz[x]+=siz[to]; 22 if(siz[to]>siz[hvy[x]]) hvy[x]=to; 23 } 24 } 25 void dfs2(int x,int tp){ 26 top[x]=tp; 27 if(hvy[x]) dfs2(hvy[x],tp); 28 for(rg int i=last[x],to;i;i=e[i].pre)if((to=e[i].to)!=fa[x]&&to!=hvy[x]) 29 dfs2(to,to); 30 } 31 inline int lca(int x,int y){ 32 int t1=top[x],t2=top[y]; 33 while(t1!=t2){ 34 if(dep[t1]<dep[t2]) swap(t1,t2),swap(x,y); 35 x=fa[t1]; t1=top[x]; 36 } 37 return dep[x]<dep[y]?x:y; 38 } 39 int main(){ 40 n=read(); m=read(); 41 for(rg int i=1;i<n;i++){ 42 int u=read(),v=read(); 43 e[++tot]=(edge){v,last[u]}; last[u]=tot; 44 e[++tot]=(edge){u,last[v]}; last[v]=tot; 45 } 46 dfs1(1); dfs2(1,1); 47 while(m--){ 48 int a=read(),b=read(),x=read(),y=read(); 49 int L1=lca(a,b),L2=lca(x,y); 50 if(dep[L1]>dep[L2]) swap(L1,L2),swap(a,x),swap(b,y); 51 puts(lca(L2,a)==L2||lca(L2,b)==L2?"Y":"N"); 52 } 53 return 0; 54 } View Code

?

  

轉(zhuǎn)載于:https://www.cnblogs.com/DriverLao/p/9301130.html

總結(jié)

以上是生活随笔為你收集整理的洛谷 3398 仓鼠找sugar 【模板】判断树上两链有交的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 婷婷丁香激情 | 精品毛片一区二区三区 | 国产三级在线免费 | 国产精品视频你懂的 | 日韩avwww| 国产成人精品无码播放 | 香港三级在线视频 | 天天干天天看 | 国产成人精品无码片区在线 | 亚洲AV无码成人精品区先锋 | 国产乱人乱偷精品视频a人人澡 | 亚洲色图小说 | 精品无码一区二区三区爱欲 | 深夜国产在线 | 久久久性色精品国产免费观看 | www在线观看免费视频 | 光棍影院手机版在线观看免费 | 国产专区av | 久久久黄色网 | 浪潮av色 | 亚洲欧美色图在线 | 久久久精品日本 | 超碰免费97| 欧美一区二区在线观看 | 在线a天堂 | 寂寞d奶大胸少妇 | 国产精品久久久久久久久久免费 | 国产精品图片 | 天天干天天爽 | a√国产| 色偷偷一区二区三区 | 国产一区二区三区四区五区美女 | 亚洲视频入口 | 亚洲图片在线播放 | 亚洲网站在线看 | 高清乱码免费看污 | 久久精品国产亚洲av成人 | 波多野结衣丝袜 | 欲色网站 | 精品在线视频一区 | 五月婷婷啪啪 | 久久久久久久综合 | 午夜精品久久久久久久久久久久久 | 国产夫妻露脸 | 四虎最新站名点击进入 | 亚洲偷偷 | 四虎黄色网址 | av一二区 | 在线视频欧美亚洲 | 国产一区二区三区色淫影院 | 欧美日韩一区二区三区69堂 | 国产尤物精品 | 污污视频网站免费观看 | 91重口味 | 亚洲免费影院 | www.蜜臀| 来吧亚洲综合网 | 香蕉视频在线看 | 综合激情网五月 | 91亚洲精华| 性色在线| 日本高清视频在线播放 | 亚洲综合日韩在线 | a天堂亚洲| 亚洲高清免费观看 | 91在线无精精品一区二区 | 女人久久久久 | 免费搞黄网站 | 国产又粗又猛又爽又黄的视频一 | 中文字幕日日夜夜 | 久久免费看少妇高潮v片特黄 | 国产精品成人Av | 国产日韩欧美激情 | 亚洲熟妇无码另类久久久 | 黄色av免费观看 | 日批免费看 | 密桃成熟时在线观看 | 成人美女在线观看 | 色黄网站 | 黄视频免费看在线 | 99热这里只有精品首页 | 麻豆传媒网页 | 无码人妻精品一区二 | 又色又爽又黄无遮挡的免费视频 | 992tv在线影院 | 国产精品无人区 | 污片免费看 | 色无极亚洲影院 | 国产一区二区三区视频免费在线观看 | 国产一级做a爱免费视频 | 亚洲二区在线视频 | 成人无码av片在线观看 | 麻豆网站在线免费观看 | av中文字幕免费观看 | 天天舔天天干天天操 | 国产欧美日韩精品一区 | 韩国三级中文字幕hd久久精品 | 中文字幕视频网站 | 精品熟妇视频一区二区三区 |