码迷,mamicode.com
首页 > 其他好文 > 详细

树上差分

时间:2019-05-03 18:17:47      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:.com   复杂   arch   简单   同步   com   index.php   复杂度   href   

同步:https://buringstraw.win/index.php/archives/38/

树上差分

描述

把差分数组(不是前缀和)放到一个树上,使某个节点的权值等于其本身加上所有子节点的差分的那个值的和。(语无伦次)

差分数组的作用是使区间修改的时间复杂度更低,对应到树上,就可以应用到类似于这样的情况:

技术图片

点的差分

给A—B的简单路径上所有的节点的权值增加1。

可以把这条路径拆成两条链,分别为A到L(A和B的LCA)和B到L。

把A与B的标记增加1,那么A到L和B到L对应的值在统计时都会增加1,而L的值总共增加了2,所以再把L的标记减1。L的父亲节点,类似修改差分数组的区间时区间之后的那个点,将其标记减1。

边的差分

把边权转化到下边的点上。

所以这次L点的标记不能动,那么,区间每增加1,L点的标记要减去2.

板子题

洛谷 P3128 最大流Max Flow

树上差分

标签:.com   复杂   arch   简单   同步   com   index.php   复杂度   href   

原文地址:https://www.cnblogs.com/buringstraw/p/10805774.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!