题解:P8025 [ONTAK2015] Związek Harcerstwa Bajtockiego

news/2025/11/26 15:40:49/文章来源:https://www.cnblogs.com/cold-jelly/p/19273112

听说 NOIP 考前写题解有助于 rp++。(划掉 (/▽\))

前置知识:树链剖分(重链剖分)、树剖求 LCA、树剖求 \(K\) 级祖先。

不会也没关系哦,可以看看窝的博客啊(无耻地贴上链接):树链剖分以及求 LCA、树上 \(K\) 级祖先。可以帮忙点个赞赞吗 (/▽\)。

会用到的记号

  • \(\text{LCA}(x,y)\)\(x,y\) 的最近公共祖先;
  • \(dep_x\)\(x\) 的深度;
  • \(\text{Dist}(x,y)\)\(x,y\) 的距离(代表路径上的节点个数 \(-1\));
  • \(fa(x,K)\)\(x\)\(K\) 级祖先。

题意简述

有一棵无根树,我们需要动态地维护一枚棋子在树上跳动的过程。单次跳动操作会给定目标节点 \(d\) 与最大步数 \(t\),如果能在步数 \(t\) 以内走到 \(d\),那么棋子就跳到 \(d\),否则棋子能跳多少是多少。

思路分析

既然这题是无根树,那我们首先随意钦定一个节点为根节点(比如我们这里就选择 \(1\) 号节点啦)。然后树剖一下,我们就能方便地求出 LCA 等信息了。

我们先分析分析题目,看看我们需要实现什么操作。

首先比较容易的是当点 \(m\)\(d\) 之间的距离小于等于 \(t\) 时,我们直接可以跳到 \(d\)

嗯嗯,那如果跳不到呢?我们肯定还是要在 \(m\)\(d\) 的路径上跳的。这个时候我们就需要根据位置来分类讨论一下。

因为蒟蒻比较笨,这里分讨的稍微细了一点(有好好配图讲解哦)。

第一种情况,\(\text{LCA}(d,m)=d\)。这时候我们跳 \(t\) 步即停止:

第二种情况,\(\text{LCA}(d,m)=m\)。这时候是恰好与第一种情况反过来的:

第三种情况,那么就是正常的 LCA 情况。我们将这个路径视为两段 \(m\to \text{LCA}(d,m)\)\(\text{LCA}(d,m)\to d\)。根据分讨 \(t\)\(\text{Dist}(m,\text{LCA}(d,m))\) 的大小关系,有:

综上所述,我们只用实现求 LCA、距离、K 级祖先啦 (●'◡'●)!

代码实现

鹅……这里蒟蒻在实现的时候实际上是把一开始 \(\text{Dist}(d,m)\le t\) 的情况放在了三种情况里面了。单独拎出来也是可以的。

#include<bits/stdc++.h>
using namespace std;
const int N = 1e6 + 10;
int n, m, k;
vector<int> e[N];
int dep[N], fa[N], siz[N], hs[N];
int top[N], id[N], ID[N], cnt;
void dfs1(int u, int father)//树剖 
{dep[u] = dep[father] + 1, fa[u] = father, siz[u] = 1;int maxson = -1;for(auto i : e[u]){if(i == father) continue;dfs1(i, u);siz[u] += siz[i];if(maxson < siz[i]) maxson = siz[i], hs[u] = i;}
}
void dfs2(int u, int topf)
{top[u] = topf, id[u] = ++ cnt, ID[cnt] = u;if(hs[u] == 0) return;dfs2(hs[u], topf);for(auto i : e[u]){if(i == fa[u] || i == hs[u]) continue;dfs2(i, i);}
}
int LCA(int x, int y)//树剖求 LCA 
{while(top[x] != top[y]){if(dep[top[x]] < dep[top[y]]) swap(x, y);x = fa[top[x]];}if(dep[x] < dep[y]) return x;else return y;
}
int Dist(int x, int y, int lca)//求 Dist(x,y) 
{return dep[x] + dep[y] - 2 * dep[lca];
}
int faK(int x, int K)//求 fa(x,K) 
{while(id[x] - id[top[x]] + 1 <= K && x != 1){K -= (id[x] - id[top[x]] + 1);x = fa[top[x]];}return ID[id[x] - K];
}
int main()
{scanf("%d%d%d", &n, &m, &k);for(int i = 1; i < n; i ++){int u, v;scanf("%d%d", &u, &v);e[u].push_back(v);e[v].push_back(u);}dfs1(1, 0);dfs2(1, 1);while(k --){int d, t;scanf("%d%d", &d, &t);int lca = LCA(d, m);int dist = Dist(d, m, lca);if(lca == d)//情况一 {if(dist <= t) m = d;else m = faK(m, t);}else if(lca == m)//情况二 {if(dist <= t) m = d;else m = faK(d, dist - t);}else//情况三 {if(dist <= t) m = d;else{int D1 = dep[m] - dep[lca];int D2 = dep[d] - dep[lca];if(D1 <= t){m = lca, t -= D1;m = faK(d, D2 - t);}else m = faK(m, t);}}printf("%d ", m);}return 0;
}

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

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

相关文章

习题解析之:摩尔斯电码转换

习题解析之:摩尔斯电码转换【问题描述】 摩尔斯电码(又译为摩斯密码,Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬…

初始Spring框架

初识Spring spring介绍核心理念:IoC(控制反转)、AOP(面向切面的编程)表现层:web层提供了一个优秀的springMVC框架 业务逻辑层:通过AOP无入侵情况下对业务层进行增强,eg 管理事务、记录日志。 DAO层(持久层):整…

2025年不锈钢水垢清洁剂制造厂权威推荐榜单:水龙头除垢剂/不锈钢清洁剂/厨房重油污清洁剂源头厂家精选

不锈钢水垢清洁剂作为工业设备维护与家居清洁的关键产品,其腐蚀性控制、除垢效率及环保性能直接影响设备寿命与使用安全。据行业调研数据显示,高效水垢清洁剂可提升热交换设备能效15%-25%,而低腐蚀配方的需求占比达…

2025年旋挖钻机全套管供货厂家权威推荐榜单:全回转全套管‌/旋挖全套管‌/搓管机全套管源头厂家精选

在基建工程持续深化与施工技术迭代升级的背景下,旋挖钻机全套管作为应对复杂地质条件的关键装备,其市场需求正以年均增长率超过10%的速度快速提升。 旋挖钻机全套管通过全回转、搓管等先进工艺,有效解决了流沙层、喀…

2025 年 11 月精益生产咨询公司权威推荐榜:专业流程优化与智能制造解决方案口碑之选

2025 年 11 月精益生产咨询公司权威推荐榜:专业流程优化与智能制造解决方案口碑之选 随着全球制造业向智能化、数字化方向加速转型,精益生产作为提升企业运营效率的核心方法论,正迎来新一轮的发展机遇。在工业 4.0 …

权威实测背书!2025年11月高性价比家具品牌放心选

还在为选智能家具纠结?要么价格虚高不实用,要么功能噱头大于体验,踩坑风险着实不低。我们权威实测百款主流产品,从材质安全、功能落地、性价比等核心维度严苛筛选,结合超800万家庭的实际使用反馈,精选出5个高分优…

2025 最新压滤机定制厂家权威排行榜 创新工艺 + 定制方案深度解析 国际协会认证推荐真空 / 板框 / 带式 / 污泥脱水 / 气化渣脱水专用 / 污泥专用脱水压滤机公司推荐

引言 压滤机作为工业固液分离核心设备,其性能直接决定生产效率与环保合规水平。本次榜单由国际过滤与分离设备协会(IFS)联合行业权威机构测评发布,采用 “技术实力(35%)+ 定制能力(25%)+ 产品稳定性(20%)+ 服…

qt 获取一个Widget内的一个控件的值

方法1:通过对象名称动态查找控件// 假设控件在UI中已设置对象名称(如通过Qt Designer设置)QTextEdit* QTextEdit_control = this->findChild<QTextEdit*>("textEdit");if (QTextEdit_control) {…

2025年杭州全网营销公司权威推荐榜单:网络营销‌/全网推广‌/线上推广源头公司精选

在数字经济蓬勃发展的2025年,杭州作为"互联网之都",专业全网营销服务正以其技术驱动与全域整合的特性,成为企业突破增长瓶颈的核心助力。 全网营销通过整合搜索优化、内容营销、短视频推广、社交媒体运营…

2025 年 11 月供应链管理咨询服务权威推荐榜:高效协同与降本增效的智慧解决方案,助力企业优化全链路运营

2025 年 11 月供应链管理咨询服务权威推荐榜:高效协同与降本增效的智慧解决方案,助力企业优化全链路运营 随着全球经济格局的深刻变革和数字化转型浪潮的推进,供应链管理已成为企业核心竞争力构建的关键环节。2025 …

【JPCS出版 | 连续多年EI稳定检索】第九届力学、数学与应用物理学国际学术会议(ICMMAP 2025)

第九届力学、数学与应用物理学国际学术会议(ICMMAP 2025)将于2025年12月12-14日在中国哈尔滨隆重召开。【IOP-JPCS出版!连续多年EI稳定检索!】 【2025年下半年重磅会议推荐!| 哈尔滨理工大学主办!】 第九届力学、…

2025年矿用氧气呼吸器实力厂家权威推荐:hyz4氧气呼吸器/舱式氧气呼吸器/正压呼吸器氧气瓶源头厂家精选

在矿山安全生产要求不断提高的背景下,矿用氧气呼吸器作为矿山救护和作业人员的生命保障装备,其技术性能与可靠性直接关系到矿工的生命安全。现代氧气呼吸器已从传统的过滤式防护升级为正压式、压缩氧和化学氧等多种技…

私有文章

前言!!! 有关这场比赛的内容??????????///////?????? 1126 AK 欢乐赛!!!!!!!!!!!!!!!!!!!!!!!1111111欢乐!!!AK!!!AK欢乐!!!!!!!!!!!!!111111 !!!!…

2025 年 11 月降本增效咨询服务公司权威推荐榜:专业策略与实战案例深度解析,助力企业运营优化与成本控制

2025 年 11 月降本增效咨询服务公司权威推荐榜:专业策略与实战案例深度解析,助力企业运营优化与成本控制 在全球经济格局深度调整与企业数字化转型加速的双重驱动下,降本增效已成为企业提升竞争力的核心战略。根据国…

题解:B4374 [GXPC-S 2025] 花 / flower

题目传送门 题意大致理解:我们要维护一棵树,支持树上的单点修改,和子树的区间查询。 题意推敲: 单点查询不在话下,我们需要区间查询用数据结构去维护的话没有一个好的、简单的树上结构来维护他。 那么我们可以根据…

2025 年 11 月企业管理咨询公司品牌权威推荐榜:战略规划、组织优化与数字化转型领域的专业服务口碑之选

2025 年 11 月企业管理咨询公司品牌权威推荐榜:战略规划、组织优化与数字化转型领域的专业服务口碑之选 在当今快速变化的商业环境中,企业管理咨询公司正成为推动企业战略升级、组织优化和数字化转型的重要力量。随着…

pytest 5 种核心测试场景的 极简示例

pytest 5 种核心测试场景的 极简示例pytest 5 种核心测试场景的 极简示例(含代码+执行命令): 1. 全量测试(默认) 核心逻辑:执行所有符合命名规则的用例(test_*.py/test_* 函数) 示例代码(test_all.py) def t…

2025 年恒温恒湿系统厂家最新推荐榜:技术实力与市场口碑深度解析,覆盖多行业适配需求实验室恒温恒湿系统/车间恒温恒湿系统/仓库恒温恒湿系统/厂房恒温恒湿系统/空调恒温恒湿系统公司推荐

引言 在全球工业制造向高精度、高合规性转型的背景下,恒温恒湿系统已成为保障产品品质、提升生产稳定性的核心基础设施,广泛应用于电子半导体、医药生物、精密制造等关键领域。据国际暖通空调协会(ASHRAE)最新测评…

2025年11月道闸厂家排行详解:技术实力与市场表现的双重考量

随着城市智能化进程的加速推进,道闸系统作为车辆出入管理的核心设备,其市场需求持续增长。无论是物业公司管理人员、停车场运营者,还是企事业单位后勤负责人,在选择道闸厂家时都面临着诸多实际需求。这些用户通常需…

2025 年 11 月国内十大咨询公司权威推荐榜:战略规划、管理优化与数字化转型顶尖服务深度解析

2025 年 11 月国内十大咨询公司权威推荐榜:战略规划、管理优化与数字化转型顶尖服务深度解析 在当今快速变化的商业环境中,企业面临着前所未有的挑战与机遇。战略规划、管理优化与数字化转型已成为企业持续发展的三大…