当前位置: 首页 > news >正文

【题解】Luogu P3398 仓鼠找 sugar

又是没想出来的 trick。

思路

考虑两条路径相交时的情况。

pZ1XwWQ.png

这种情况一定是不存在的,因为中间的交叉点往上出现了两条分支,而树上每个节点只有一个父节点。所以交叉点一定是其中一条路径深度最小的点,即某一组的最近公共祖先。

那么两条路径相交,当且仅当其中一条路径对应两点的 LCA 在另一条路径上。

接下来只需要考虑怎么判断一个点是否在一条路径上。无权树上又有一个性质,即在两点路径外的点到两点的距离和一定大于两点的距离。所以判断一个点是否在一条路径上,只需要看其到两端点的距离和是否等于两端点的距离。

用 LCA 和深度差,分别求出两组的 LCA 到另一组两点的距离和,任意一组满足条件即相交。

实现

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int n,q,D;
int h[N],tot;
int dep[N],fa[N][20];
struct Node{int to,nxt;
}e[2*N];
void Add(int u,int v){tot++;e[tot].to=v;e[tot].nxt=h[u];h[u]=tot;
}
void dfs(int u,int cur,int fath){dep[u]=cur;D=max(D,cur);fa[u][0]=fath;for(int i=1;i<=log(dep[u])/log(2);i++) fa[u][i]=fa[fa[u][i-1]][i-1];for(int i=h[u];i;i=e[i].nxt){int v=e[i].to;if(v!=fath) dfs(v,cur+1,u);}
}
int LCA(int a,int b){if(dep[a]<dep[b]) swap(a,b);for(int i=log(D)/log(2);i>=0;i--){if(dep[fa[a][i]]>=dep[b]) a=fa[a][i];}if(a==b) return a;for(int i=log(D)/log(2);i>=0;i--){if(fa[a][i]!=fa[b][i]) a=fa[a][i],b=fa[b][i];}return fa[a][0];
}
int Abs(int x){if(x<0) return -x;else return x;
}
int dis(int a,int b){int fab=LCA(a,b);return Abs(dep[a]-dep[fab])+Abs(dep[b]-dep[fab]);
}
int main(){ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);cin>>n>>q;for(int i=1;i<=n-1;i++){int u,v;cin>>u>>v;Add(u,v),Add(v,u);}dfs(1,1,0);for(int i=1;i<=q;i++){int a,b,c,d;cin>>a>>b>>c>>d;int fab,fcd;fab=LCA(a,b),fcd=LCA(c,d);if(dis(fab,c)+dis(fab,d)==dis(c,d)||dis(fcd,a)+dis(fcd,b)==dis(a,b)) cout<<"Y\n";else cout<<"N\n";}return 0;
}
http://www.gsyq.cn/news/125028.html

相关文章:

  • 2025.12.19
  • P1657 选书
  • 2025年全空气供应商精选推荐,实现高效、舒适的空气解决方案 - 讯息观点
  • 汉默斯问鼎厨卫峰会双奖:中餐厨余处理器创新突围,以用户痛点锚定产业新坐标
  • 自己写的库:rstiff:高精度、类型保留的 Rust GeoTiff 处理库
  • 死锁
  • Java新特性-(二)Java基础语法 - 努力-
  • Java新特性-Java语法 - 努力-
  • 科华UPS电源优选服务商:河南艾佩斯20年深耕,全国服务覆盖 - 朴素的承诺
  • 小红书关键词爬取
  • 2025年口碑好的河南UPS电源厂家最新权威实力榜:河南艾佩斯商贸引领行业标杆 - 朴素的承诺
  • 实用指南:用VSCode打造高效AI开发环境:从配置到实战
  • 2025最新;福州奇富网络网络小额贷款有限公司客服AI数字公司推荐,技术斌能数字化转型 - 资讯焦点
  • 净水器加盟还是个好生意吗?是红利尾声还是新机遇?给创业者的理性指南 - 资讯焦点
  • 圆锥曲线的参数方程输入法 | Desmos 玩法系列01
  • 2025年敦煌徒步团队精选榜:聚焦敦煌徒步供应商安全体系与本土资源整合力! - 海棠依旧大
  • 解码Qt事件处理与自定义绘图
  • 2025年12月山东临沂全屋定制展推荐榜:临沂定制展、临沂板材展、临沂建博会、临沂门窗展、临沂门展、临沂木业展、临沂木博会,福瑞德会展领航十周年展,12 万㎡平台赋能家居产业链 - 海棠依旧大
  • 2025年12月深圳南油尾货推荐榜重磅出炉:南油服装尾货、高端尾货供应、尾货库存、服装库存、服装尾货全品类、高价一手回收、直播高价回收,健建服饰省心清仓优选 - 海棠依旧大
  • 2025年12月碳化硼行业优选厂家推荐榜:碳化硼/粉/陶瓷粉/球/喷嘴/防弹陶瓷、高丰度/高富集度/碳化/无压/热压/超细/高纯/碳化硼,硬核材料赋能高端制造,山东华恩值得关注 - 海棠依旧大
  • n8n整合ffmpeg
  • PHP利用Redis实战实录2:Redis扩展技巧和PHP连接Redis的多种强大的方案
  • 2025年12月湖北武汉洗浴汗蒸、汤泉水疗、足疗SAP、洗浴住宿酒店专业推荐 - 2025年品牌推荐榜
  • 2025年12月昆明肿瘤,云南恶性肿瘤,肿瘤病医馆推荐,专注肿瘤防治机构实力盘点! - 品牌鉴赏师
  • RAG 技术全栈指南 第二章学习笔记
  • 2025 GEO优化破局指南:AI原生时代的DeepSeek适配服务商精准遴选路径 - 品牌推荐排行榜
  • 2025决胜DeepSeek流量入口:GEO优化顶尖服务商全景指南与选型策略 - 品牌推荐排行榜
  • 2025 电永磁厂家技术创新 TOP5 推荐榜 宏兴盛技术壁垒领先 - 品牌智鉴榜
  • 2025年12月沈阳网站建设,沈阳宣传片,沈阳小程序开发公司推荐,资质案例双优的本地靠谱之选! - 品牌鉴赏师
  • 2025年12月沈阳宣传片,沈阳网站建设,沈阳IP打造公司测评榜,聚焦定制化与跨平台适配能力! - 品牌鉴赏师