1797F Li Hua and Path(Min-rt树,Max-rt树)

文章介绍了如何利用离线方法解决一个关于树的路径问题,涉及到树的合并策略,包括按点的顺序重新合并点集以及维护最大值或最小值路径计数。Max-rt和Min-rt树的概念被提出,它们分别能快速计算以节点为最大值或最小值的路径数。在构建这两个树的过程中,利用DFS序和树状数组来优化复杂度,以解决端点不能同时为最大值和最小值的限制。最后,文章提到了计算两者交集的经典问题,可以借助树状数组来实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目链接

题意 : 给你一个大小为 n n n的树,我们想求解一个问题,问题的定义是找有多少条路径满足恰好满足路径的端点是路径的最小值 o r or or最大值条件之一,【注】不能同时满足路径的两个端点是最小值又是最大值
现在增加 m m m个操作,每个操作接在 k j k_j kj节点上,每次操作都要回答增加节点后的问题答案。

思路 :
[vp时思路] 我们可以很容易地发现这个问题可以离线,然后我们考虑离线,我们考虑怎么维护端点是路径的最大值 o r or or最小值呢,我们考虑第一个 t r i c k trick trick-按照点的顺序重新合并点集。
第一步:我们先按 1 − n 1-n 1n的顺序遍历点集,每次合并只合并原树连在 i i i节点,且比 i i i节点小的点。

举个例子
4
1 2
2 3
1 3
我们连点的顺序是
1 - //1作为最大值的路径数为 0
2 - 1 //2作为最大值的路径数为 1
3 - 1 、2 //3作为最大值的路径数为 2

这样合并之后我们可以发现我们可以统计出以 i i i

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值