树上的差分

1. 点的差分

求路径 u - v 上的点被经过的次数。

cnt [ x ] 代表点 x 经过的次数。

核心代码:

cpp 复制代码
cnt[n]++;
cnt[v]++;
cnt[lca]--;
cnt[fa[lca]]--;

2. 边的差分

求 u - v 路径上每一条边经过的次数。

cnt [ x ]:代表 x 向上的边经过的次数。

核心代码:

cpp 复制代码
cnt[u]++;
cnt[v]++;
cnt[lca]-=2;
相关推荐
仰泳的熊猫6 分钟前
题目1523:蓝桥杯算法提高VIP-打水问题
数据结构·c++·算法·蓝桥杯
汉克老师24 分钟前
GESP2024年3月认证C++二级( 第三部分编程题(1) 乘法问题)
c++·算法·循环结构·gesp二级·gesp2级
juleskk25 分钟前
2.18复试训练
算法
tankeven30 分钟前
HJ94 记票统计
c++·算法
逆境不可逃35 分钟前
LeetCode 热题 100 之 76.最小覆盖子串
java·算法·leetcode·职场和发展·滑动窗口
I_LPL40 分钟前
day35 代码随想录算法训练营 动态规划专题3
java·算法·动态规划·hot100·求职面试
DeepModel44 分钟前
【回归算法】多项式回归详解
算法·回归
Frostnova丶1 小时前
LeetCode 761. 特殊的二进制字符串
算法·leetcode
不吃橘子的橘猫1 小时前
《集成电路设计》复习资料3(电路模拟与SPICE)
学习·算法·集成电路·仿真·半导体
m0_531237171 小时前
C语言-函数递归
算法