P3398 仓鼠找 sugar

news2025/1/12 2:54:37

Portal.

LCA。

询问树上两条路径是否有交点。

画图发现无非两种情况:

发现一条路径的起点和终点的 LCA 经过另一条路径,是两路径相交的充要条件。

考虑如何判断这个 LCA 在不在路径上。若 d ( s , LCA ) + d ( LCA , t ) = d ( s , t ) d(s,\text{LCA})+d(\text{LCA},t)=d(s,t) d(s,LCA)+d(LCA,t)=d(s,t),由于树上路径的唯一性,显然存在。

注意 LCA 函数,if(dep[f[x][i]]>=dep[y]) x x x 就可以往上跳。

#include <bits/stdc++.h>
using namespace std;
#define int long long

const int maxn=1e5+5;
struct edge{int to,nxt;}e[maxn*2];
int head[maxn],cnt,dep[maxn],f[maxn][25];

void add(int x,int y){e[++cnt]={y,head[x]},head[x]=cnt;}

void dfs(int x,int fa)
{
	dep[x]=dep[fa]+1,f[x][0]=fa;
	for(int i=head[x];i;i=e[i].nxt)
	{
		if(e[i].to==fa) continue;
		dfs(e[i].to,x);
	}
}

int lca(int x,int y)
{
	if(dep[x]<dep[y]) swap(x,y);
	for(int i=20;i>=0;i--) if(dep[f[x][i]]>=dep[y]) x=f[x][i];
	if(x==y) return x;
	for(int i=20;i>=0;i--)
		if(f[x][i]!=f[y][i]) x=f[x][i],y=f[y][i];
	return f[x][0];
}

int dis(int x,int y){return abs(dep[x]-dep[lca(x,y)])+abs(dep[y]-dep[lca(x,y)]);}

signed main()
{
	int n,q;cin>>n>>q;
	for(int i=1,u,v;i<n;i++) cin>>u>>v,add(u,v),add(v,u);
	dfs(1,0);
	for(int j=1;j<=20;j++) for(int i=1;i<=n;i++) f[i][j]=f[f[i][j-1]][j-1];
	while(q--)
	{
		int a,b,c,d;cin>>a>>b>>c>>d;
		int f1=lca(a,b),f2=lca(c,d);
		if(dis(a,f2)+dis(b,f2)==dis(a,b)||dis(c,f1)+dis(d,f1)==dis(c,d)) cout<<"Y\n";
		else cout<<"N\n";
		// cout<<lca(a,b)<<endl;
	}
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1168691.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ArmSom---SPI开发指南

1. 简介 RK3588从入门到精通本⽂主要介绍在Rockchip平台配置spi接口并且使用的方法开发板&#xff1a;ArmSoM-W3Kernel&#xff1a;5.10.160OS&#xff1a;Debian11 2. SPI接口概述 SPI&#xff08;Serial Peripheral Interface&#xff09;&#xff0c;即串行外围设备接口&…

2023年辽宁省数学建模竞赛B题思路详细分析

摘要略&#xff0c;2023年辽宁省数学建模竞赛B题代码和论文已经完成&#xff0c;代码为全部3问代码&#xff0c;论文包括摘要、问题重述、问题分享、模型假设、符号说明、模型的建立和求解&#xff08;问题1无监督聚类模型的建立和求解&#xff0c;问题二有监督分类预测模型的建…

基础课18——智能客服系统架构

1.基础设施层 基础设施主要包括以下几点&#xff1a; 1. 硬件设施&#xff1a;包括服务器、存储设备、网络设备等&#xff0c;这是整个系统运行的物理基础。 2. 软件设施&#xff1a;包括操作系统、数据库管理系统、自然语言处理(NLP)工具和机器学习算法等&#xff0c;这些是…

QT在线安装5.15之前的版本(下载速度飞快)

使用最新的QT在线安装器&#xff0c;安装QT版本时只能安装5.15以及之后的版本&#xff0c;安装QT5.15之前的版本只能通过离线安装的方式&#xff0c;离线安装后还要自己去配置QT&#xff0c;离线安装还有个问题的&#xff0c;后续维护比较麻烦&#xff0c;QT的维护工具还要自己…

美联储再度暂停升息:“比特币突破35,000美元!“

今天凌晨举行FOMC 利率会议的结果并不引起意外在意料之中&#xff0c;再次”暂停升息”&#xff0c;基准利率仍然在 5.25% 至 5.5% 区间。 市场反应出对于美联储暂停升息松了一口气&#xff0c;意味着当前的利率基本上是美联储的最高利率&#xff0c;要再继续加息的概率不大。 …

高浓度化工废水处理工艺是怎样的

高浓度化工废水处理工艺主要包括以下步骤&#xff1a; 预处理&#xff1a;通过物理、化学和生物等方法对废水进行预处理&#xff0c;以去除其中的悬浮物、油污、重金属等有害物质。常用的预处理方法包括沉淀、过滤、吸附、氧化等。化学氧化&#xff1a;利用氧化剂&#xff08;…

体验SOLIDWORKS旋转反侧切除增强 硕迪科技

大家在设计中经常使用的旋转切除命令在solidworks2024版本中迎来了新的增强&#xff0c;添加了旋转反侧切除选项。在设计过程中不必修改复杂的草图即可切除掉我们不需要的部分。使设计工作更加方便快捷。 打开零部件后&#xff0c;点击键盘上的S键并输入旋转切除以搜索该命令&a…

C语言--输出1-100以内的素数

首先要有1-100以内的数字 for(int i1;i<100;i) 素数&#xff1a; 素数是指只能被1和自身整除的正整数。换句话说&#xff0c;素数是大于1的数&#xff0c;它除了1和它本身之外没有其他因数。例如&#xff0c;2、3、5、7、11、13等都是素数。然而&#xff0c;4、6、8、9等不…

浅述边缘计算场景下的云边端协同融合架构的应用场景示例

云计算正在向一种更加全局化的分布式节点组合形态进阶&#xff0c;而边缘计算是云计算能力向边缘侧分布式拓展的新触角。随着城市建设进程加快&#xff0c;海量设备产生的数据&#xff0c;若上传到云端进行处理&#xff0c;会对云端造成巨大压力。如果利用边缘计算来让云端的能…

多模态论文阅读之BLIP

BLIP泛读 TitleMotivationContributionModel Title BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation Motivation 模型角度&#xff1a;clip albef等要么采用encoder-base model 要么采用encoder-decoder model.…

Proteus仿真--1602LCD显示电话拨号键盘按键实验(仿真文件+程序)

本文主要介绍基于51单片机的LCD1602显示电话拨号键盘按键实验&#xff08;完整仿真源文件及代码见文末链接&#xff09; 仿真图如下 其中右下方12个按键模拟仿真手机键盘&#xff0c;使用方法同手机键一样&#xff0c;拨打手机号码则在液晶显示屏上显示对应的号码 仿真运行…

MySQL 数据脱敏方式盘点

对于企业而言&#xff0c;数据脱敏可以在数据共享或测试时用于保护敏感数据&#xff08;如信用卡&#xff0c;社保卡&#xff0c;地址等&#xff09;。通过对敏感数据进行脱敏处理&#xff0c;组织可以最大限度地降低数据泄露和未经授权访问的风险&#xff0c;同时仍能够使用真…

自己动手实现一个深度学习算法——五、误差反向传播法

文章目录 五、误差反向传播法1.计算图1&#xff09;概念2&#xff09;计算图3&#xff09;局部计算4&#xff09;计算图解题优点 2.链式法则1&#xff09;计算图的反向传播2)什么是链式法则3&#xff09;链式法则和计算图 3.反向传播1&#xff09;加法节点的反向传播2&#xff…

MySQL - Zero date value prohibited

问题: timestamp字段报Caused by: com.mysql.cj.exceptions.DataReadException: Zero date value prohibited 原因: timestamp字段存入了0值, 超出了最小值1900-01-01 00:00:00, 转Java对象的时候报错 解决: 1.修复或删除原数据 2. mysqlurl 中添加zeroDateTimeBehaviorconve…

软磁直流测试系统磁参量指标

软磁直流测试系统磁参量指标 测量条件&#xff1a;( 23 5 )℃ 环形试样应为薄壁环&#xff0c;外径与内径之比应小于1.1。 测试前环形试样应先退磁。 ① 采用标准样品测试。

Cell Reports | 表观组学和单细胞测序揭示在急性应激条件下FoxM1协调β细胞亚群的细胞分裂、蛋白质合成和线粒体活性

发表单位&#xff1a;瑞士分子健康科学研究所 期 刊 &#xff1a;Cell Reports&#xff08;IF:8.8&#xff09; 发表日期&#xff1a;2023年8月29日 研究技术&#xff1a;ATAC-seq、ChIP-seq 、RNA-seq、scRNA-seq&#xff08;爱基百客均可以提供&#xff09; 2023年8月…

2023NOIP A层联测23-涂鸦

有一面由 n m n\times m nm 个格子组成的墙&#xff0c;每个格子要么是黑色&#xff0c;要么是白色。你每次将会进行这样的操作&#xff1a;等概率随机选择一个位置 ( x , y ) (x,y) (x,y)&#xff0c;和一个颜色 c c c&#xff08;黑色或者白色&#xff09;&#xff08; 1…

docker 安装 minio (单体架构)

文字归档&#xff1a;https://www.yuque.com/u27599042/coding_star/qcsmgom7basm6y64 查询 minio 镜像 docker search minio拉取镜像 docker pull minio/minio创建启动 minio 容器 用户名长度至少为 3&#xff0c;密码长度至少为 8 docker run \ -p 9000:9000 \ -p 9090:909…

第6天:信息打点-Web架构篇amp;域名amp;语言amp;中间件amp;数据库amp;系统amp;源码

第6天&#xff1a;信息打点-Web架构篇&域名&语言&中间件&数据库&系统&源码 #知识点&#xff1a; 1、打点-Web架构-语言&中间件&数据库&系统等2、打点-Web源码-CMS开源&闭源售卖&自主研发等 开源&#xff1a;可以上网搜索&#x…

redis-plus-plus常用函数介绍以及redis的一些边缘知识

文章目录 渐进式遍历scan数据库管理使用C调用redis安装redis-plus-plus get, set, exists , del, keysexpire, typestring的set, mset, mgetgetrange, setrangeincr, decrlpush, lrange,lpop, rpopblpop, llensadd, smemberssismember, scardsinter, sinterstorehset, hget, he…