跳到正文
信奥逐课

第 304 课

子树大小

🔵 基础 约 7 分钟

一句话理解

子树大小 sz[u]=1+∑sz[son]。

为什么要学

重心、点分治、树剖。

讲解

后序累加。整棵树 sz[root]=n。

例子

void dfs(int u, int f) {
    sz[u] = 1;
    for (int v : g[u]) if (v != f) {
        dfs(v, u);
        sz[u] += sz[v];
    }
}

先算儿子再加到自己。

常见错误

练习 做完再看下一课

叶子的 sz 是 ____

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

Ctrl / ⌘ + Enter 运行 · Tab 缩进

输出
 

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

左右方向键也可翻课