天天爱跑步——树上差分
Posted miracevin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了天天爱跑步——树上差分相关的知识,希望对你有一定的参考价值。
先来一道简化版:
关联点 2
? 给出一棵二叉树,每个点有点权 ????
? 如果 ?? 在 ?? 的左(右)子树中,且 ?? 到 ?? 的距离为 ????,则称 ??
为 ?? 的左(右)关联点
? 求每个点的左、右关联点个数
? ?? ≤ 10^6
子树内距离根为x深度的点有多少个
不能爆搜。
但是,可以利用dfs的性质,便利完a的子树,才会出来。
所以,可以用一个全局数组记录dep[i]表示深度为i的点出现了几次
进入x,记录dep[dep[x]+va]个数=old,然后把dep[dep[x]]++
回溯的时候,把new-old即可求出答案。
以上是关于天天爱跑步——树上差分的主要内容,如果未能解决你的问题,请参考以下文章
bzoj4719: [Noip2016]天天爱跑步 树上差分