树链剖分例题

非常好的一个博客 http://www.cnblogs.com/chinhhh/p/7965433.html

权值在边,将权值映射在边的儿子节点就ok了

以下题目来自 kuangbin  这些题目套上树链剖分的模板,感觉考的就是线段树的知识

P3384 【模板】树链剖分 (点)

题意:

1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z

2 x y 表示求树从x到y结点最短路径上所有节点的值之和

3 x z 表示将以x为根节点的子树内所有节点值都加上z

 4 x 表示求以x为根节点的子树内所有节点值之和

思路:树链剖分+线段树

HDU 3966 Aragorn's Story(点)

题意:

1: 树上u,v二点路径所有节点+-v  2:单点更新

思路:树链剖分+线段树

POJ  2763 Housewife Wind(边)

题意:1:树上u v二点路径所有边权之和 2:单边更新

思路:讲边的权值存在儿子节点就ok了,树链剖分+树状数组维护前缀和

POJ 3237 Tree(边)

题意:1:单边更新 2:u v二点路径所有边权变成相反数 3:求u,v路径上最大的边权值

思路:树链剖分+线段树  取相反树,线段树加个add记录是否变成相反数就行了

HYSBZ  2243 染色 (点)

题意:1:将节点a到节点b路径上所有点都染成颜色c;2:询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段)

思路:树链剖分+线段树  线段树维护ls表示区间最左边的颜色,rs同理,sum表示区间颜色数目,在pushup的时候判断左儿子的rs和右儿子了ls,判断区间答案是否要减一,还有在重链上查询时判断top[x]和f[top[x]的颜色是否一样,画个图就好理解了

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值