跳到正文
信奥逐课

第 404 课

2^k 跳跃

🟠 进阶 约 10 分钟

一句话理解

2^k 跳跃:任意距离拆成二进制。

为什么要学

上跳 dep 差。

讲解

从高位 k 到 0,能跳就跳。

例子

for (int k = LOG; k >= 0; k--)
    if (dep[fa[k][u]] >= depv) u = fa[k][u];

先对齐深度。

常见错误

练习 做完再看下一课

上跳时一般从大的 2^k 试到小的。

在线练习 C++ 在浏览器里编译,代码不会上传

Ctrl / ⌘ + Enter 运行 · Tab 缩进

输出
 

进度保存在本机浏览器里。

左右方向键也可翻课