1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

先把整棵树固定以节点 111 为根,预处理出任意两点的最近公共祖先(LCALCALCA)。

对于一次查询给定 (r,u,v)(r,u,v)(r,u,v),要求的是:如果把整棵树改成以 rrr 为根时,uuu 和 vvv 的最近公共祖先是谁。

设:

  • a=LCA(u,v)a=LCA(u,v)a=LCA(u,v)

P4717.第3题-动态换根的最近公共祖先

    1000ms Tried: 28 Accepted: 8 Difficulty: 7 所属公司 : 阿里
    算法与标签>树

题目内容

在多元宇宙的中心,存在着一个名为“时空枢纽”的巨大网络。

这个网络由 nnn 个时空节点组成,它们通过稳定的因果律路径连接,构成了一棵宏伟的宇宙树。

通常,整个网络以创世节点(节点 111)为根进行校准。

然而,来自“混沌象限”的观察者们拥有改变宇宙视界的能力。

他们可以任意指定一个时空节点作为临时的“观测奇点”,从而使整个宇宙树的因果流向以该节点为根重新定向。

作为时空枢纽的守护者,你必须能够在这种动态的重构中,迅速定位任意两个节点在新的因果结构下的最近共同起源。

给定一个由 nnn 个节点构成的树。你需要处理 qqq 次查询。对于每次查询,给定三个节点 (r,u,vr, u, vr,u,v)。

你需要回答:如果将节点 rrr 作为整棵树的根,那么节点 uuu 和 vvv 的最近公共祖先是哪个节点?

【名词解释】

树:指这样的一张图,其由 nnn 个节点和 n−1n-1n−1 条边构成,其上的任意两个点都连通,且不存在环。

最近公共祖先:在一棵有根树中,节点 uuu 和 vvv 的最近公共祖先指同时位于“根到 uuu 的路径”和“根到 vvv 的路径”上的节点中,距离根节点最远的一个。

输入描述

每个测试文件均包含多组测试数据。第一行输入一个整数 T(1<=T<=2∗105)T (1 <= T <= 2 * 10^5)T(1<=T<=2∗105) 代表数据组数,每组测试数据描述如下:

第一行输入两个整数 n,q(1<=n,q<=2∗105)n, q (1 <= n, q <= 2 * 10^5)n,q(1<=n,q<=2∗105),分别代表节点数和查询数。

此后 n−1n-1n−1 行,第 iii 行输入两个整数 xi,yi(1<=xi,yi<=n,xi!=yi)x_i, y_i (1 <= x_i, y_i <= n, x_i != y_i)xi​,yi​(1<=xi​,yi​<=n,xi​!=yi​),表示树上第 iii 条边连接节点 xix_ixi​ 和 yiy_iyi​。

此后 qqq 行,第 iii 行输入三个整数 ri,ui,vi(1<=ri,ui,vi<=n)r_i, u_i, v_i (1 <= r_i, u_i, v_i <= n)ri​,ui​,vi​(1<=ri​,ui​,vi​<=n),代表第 iii 次查询。

除此之外,保证单个测试文件的 nnn 之和、qqq 之和均不超过 2∗1052 * 10^52∗105。

输出描述

对于每组测试数据,输出 qqq 行,第 iii 行输出一个整数,代表第 iii 次查询的答案。

样例1

输入

1
7 5
1 2
1 3
2 4
2 5
3 6
3 7
1 4 7
4 1 7
2 4 5
5 1 2
6 4 7

输出

1
1
2
2
3

说明

对于第一组测试数据,树的结构如下:

  1  
 / 
2   3
/ \ / 
4 5 6 7 

对于第一次查询,将节点 111 作为根:

从节点 444 到根 111 的路径是 4−>2−>14 -> 2 -> 14−>2−>1。

从节点 777 到根 111 的路径是 7−>3−>17 -> 3 -> 17−>3−>1。

两条路径在节点 111 处汇合,因此 111 是它们的最近公共祖先。输出 111。

对于第二次查询,将节点 444 作为根:

从节点 111 到根 444 的路径是 1−>2−>41 -> 2 -> 41−>2−>4。

从节点 777 到根 444 的路径是 7−>3−>1−>2−>47 -> 3 -> 1 -> 2 -> 47−>3−>1−>2−>4。

在这个新的结构中,节点 111 位于节点 777 到根 444 的路径上,因此 111 是 777 的祖先。输出 111。

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 0, 56ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?