天天爱跑步——树上差分

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]天天爱跑步 树上差分

[luogu1600 noip2016] 天天爱跑步 (树上差分)

luogu P1600 天天爱跑步 |树上差分+LCA

天天爱跑步——树上差分

LCA+树上差分天天爱跑步

天天爱跑步