K12教育赛事综合服务平台
聚乐之家官方网站
下载聚乐之家官方App
专注青少年竞赛题库网站
已知diff数组初始值全为0,fa[x]代表节点x的父节点,lca(u,v)代表u和v的最近公共祖先,最终各节点权值通过后序遍历计算子树和得到。
diff[u] += 1; diff[v] += 1; diff[lca(u,v)] -= 1; diff[fa[lca(u,v)]] -= 1
diff[u] += 1; diff[v] += 1; diff[lca(u,v)] -= 2
diff[u] += 1; diff[v] += 1; diff[fa[lca(u,v)]] -= 2
diff[u] += 1; diff[v] += 1; diff[lca(u,v)] -= 1; diff[fa[u]] -=1; diff[fa[v]] -=1