【模板】树分块(简单版)

int dvt(int u) { 
  int now = 1;
  for (int v : g[u]) if (v != fa[u]) now += dvt(v);
  if (now >= sqrt(n)) key[u] = true, now = 0;
  return now;
}

这种树分块只能保证一个块内的高度(最大深度)不超过 \(\sqrt n\),以及关键点个数不超过 \(O(\sqrt n)\),其它什么也保证不了,但确实是最好写的。

posted @ 2024-10-21 21:53  caijianhong  阅读(18)  评论(0编辑  收藏  举报