Loading docs/ds/dsu.md +1 −1 Original line number Diff line number Diff line Loading @@ -91,7 +91,7 @@ void unionSet(int x, int y) { 如果只使用启发式合并,而不使用路径压缩,时间复杂度为 $\Theta(m\log n)$ 。由于路径压缩单次合并可能造成大量修改,有时路径压缩并不适合使用。例如,在可持久化并查集、线段树分治 + 并查集中,一般使用只启发式合并的并查集。 此处给出一种 C++ 的参考实现,其选择深度作为估价函数: 此处给出一种 C++ 的参考实现,其选择点数作为估价函数: ```cpp int size[N]; //记录子树的大小 Loading Loading
docs/ds/dsu.md +1 −1 Original line number Diff line number Diff line Loading @@ -91,7 +91,7 @@ void unionSet(int x, int y) { 如果只使用启发式合并,而不使用路径压缩,时间复杂度为 $\Theta(m\log n)$ 。由于路径压缩单次合并可能造成大量修改,有时路径压缩并不适合使用。例如,在可持久化并查集、线段树分治 + 并查集中,一般使用只启发式合并的并查集。 此处给出一种 C++ 的参考实现,其选择深度作为估价函数: 此处给出一种 C++ 的参考实现,其选择点数作为估价函数: ```cpp int size[N]; //记录子树的大小 Loading