[SDOI2016] 游戏(树链剖分+李超线段树)

该博客主要介绍了如何利用树链剖分和李超线段树来解决一个关于游戏的动态更新问题。在n,m不超过100000且绝对值不超过10000的条件下,通过分析路径上的距离关系,将问题简化为线段形式。博主详细解析了如何构建树链剖分,并在每个节点上维护区间最小值的李超线段树,最终实现O(nlog^4n)的时间复杂度解法,实测运行效率高。" 117330692,10914930,Java大厂面试必问:Spring Cloud、Redis与MySQL实战,"['Java', '后端', '微服务', 'Spring框架', '数据库']
摘要由CSDN通过智能技术生成

题意

在这里插入图片描述
其中, n , m ≤ 100000 , ∣ a ∣ ≤ 10000 n,m\leq 100000,|a|\leq 10000 n,m100000,a10000

分析

i i i 到根的距离为 d i s i dis_i disi
首先化简一下式子,从 s s s l c a ( s , t ) lca(s,t) lca(s,t) 路径:
a d d = a × ( d i s s − d i s i ) + b = − a × d i s i + ( b + a × d i s s ) add=a\times (dis_s-dis_i)+b=-a\times dis_i+(b+a\times dis_s) add=a×(dissdisi)+b=a×disi+(b+a×diss)
可以看出是一条线段的形式, x x x 坐标是 d i s dis

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值