关于倍增 LCA
  • 板块学术版
  • 楼主zzy0618
  • 当前回复12
  • 已保存回复12
  • 发布时间2023/8/20 22:32
  • 上次更新2023/11/3 02:21:13
查看原帖
关于倍增 LCA
815796
zzy0618楼主2023/8/20 22:32

在倍增求 LCA 时,我们会使用数组 f[i][j] 表示 ii 节点第 2j2^j 个父节点。然而,如果 2j>deepi2^j>deep_i,不存在这样一个节点。这里细节就会好多,之前我很难弄清。

有一次发现,我们可以将 f[root][0]f[root][0] 设为 rootroot,这样就可以放心的写成 for(int i=20;i>=0;i--),因为无论多么向上,都会找到 rootroot,而 rootroot 一定是所有节点的公共祖先。

2023/8/20 22:32
加载中...