树上的差分

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;
相关推荐
qq_4335545412 小时前
C++ 图论算法:二分图最大匹配
c++·算法·图论
MSTcheng.12 小时前
【算法】滑动窗口解决力扣『将x减到0的最操作数』问题
算法·leetcode·职场和发展
静心问道12 小时前
动态规划分类及算法实现
算法·分类·动态规划
bbq粉刷匠12 小时前
Java—排序1
数据结构·算法·排序算法
jghhh0112 小时前
基于MATLAB的分块压缩感知程序实现与解析
开发语言·算法·matlab
智驱力人工智能12 小时前
视觉分析赋能路面漏油检测 从产品设计到城市治理的实践 漏油检测 基于YOLO的漏油识别算法 加油站油罐泄漏实时预警技术
人工智能·opencv·算法·yolo·目标检测·计算机视觉·边缘计算
%xiao Q12 小时前
信息学奥赛一本通(部分题解)
c语言·c++·算法
信奥胡老师13 小时前
P14917 [GESP202512 五级] 数字移动
开发语言·数据结构·c++·学习·算法
Nsequence13 小时前
第四篇 STL-list
c++·算法·stl
空山新雨后、13 小时前
从 CIFAR 到 ImageNet:计算机视觉基准背后的方法论
人工智能·深度学习·算法·计算机视觉