树上的差分

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;
相关推荐
wangwangmoon_light几秒前
1.23 LeetCode总结(树)_一般树
算法·leetcode·职场和发展
被考核重击2 分钟前
基础算法学习
学习·算法
小O的算法实验室4 分钟前
2026年ASOC,学习驱动人工蜂群算法+移动机器人多目标路径规划,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
wfbcg19 分钟前
每日算法练习:LeetCode 30. 串联所有单词的子串 ✅
算法·leetcode·职场和发展
玉树临风ives23 分钟前
atcoder ABC 453 题解
数据结构·c++·算法·图论·atcoder
田梓燊28 分钟前
leetcode 48
算法·leetcode·职场和发展
mmz120733 分钟前
深度优先搜索DFS2(c++)
c++·算法·深度优先
米粒135 分钟前
力扣算法刷题 Day 38 (打家劫舍专题)
算法·leetcode·职场和发展
Robot_Nav40 分钟前
RC-ESDF与Lazy Theta* 算法结合进行离线全局路径的生成
算法·全局规划·esdf
papership41 分钟前
【入门级-算法-7、搜索算法:深度优先搜索】
算法·深度优先