P8805 [蓝桥杯 2022 国 B] 机房

P8805 [蓝桥杯 2022 国 B] 机房

分析

是一道lca题目,可以直接套模板 + 前缀和处理点权

具体思路:

1.n台电脑用n-1条网线相连,任意两个节点之间有且仅有一条路径(拆分成各自到公共祖先节点的路径——lca);

2.“延迟时间”:看成是节点点权(要求一条链上某个区间的值——前缀和)

——用sum[]存储根节点到 i 节点的点权和

LCA

三种求法:

(1)朴素求法:

先将两点位于同一深度,然后同时向上跳;一次查询:O(n^2)

(2)倍增求法:

朴素求法的改进版(朴素是一步一步跳,倍增是用f[][]优化,每次向上都是以其父节点为目标)

(3)Tarjan(留一下,还没学~)

倍增求法的步骤:

1.存图/树

2.dfs(int x,int father)更新f[][](表示节点 i 的第2^j个祖先节点)、d[](深度)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值