路径压缩是什么意思

并查集里的「路径压缩」指的是【0】。

开始练习 →

合并之后这两人连通了吗

一开始每个人自己一块。运行下面这段程序: #include <iostream> #include <string> #include <utility> #include <vector>

开始练习 →

合并完一共有几块

同样合并完之后。运行下面这段程序: #include <iostream> #include <string> #include <utility> #include <vector> usi

开始练习 →

写一个带压缩的 find

补全 find_root:一路往上找到根,顺手把沿途的点往上挂一层。这次查的是一条手工搭出来的链 a→b→c,输出根是谁。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

写一个 unite

补全 unite:把两个点所在的两块合成一块。四条关系全合并完之后,输出阿岚和南风是不是同一块。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

用并查集数出有几块

合并完所有关系之后,补全代码数出一共有几块。做法:每个人各自 find 一次,数出有几个不同的根。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

两个人到底连不连得通

补全 connected:判断两个人在不在同一块里。把两个判断拼起来输出:阿岚和南风、阿岚和北辰,中间用 / 隔开。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

一个够用的图至少要有什么

第 1 步:数一数这张图断成几块 第 2 步:从第一个没走过的人出发 第 3 步:一次遍历染完一整块 第 4 步:还有没走过的:再染一块 岚 满 泰 风 辰 手写一张够用的图,至少要有【0】。

开始练习 →

遍历和并查集各解决什么(C++)

图遍历和并查集,分工是【0】。

开始练习 →

这张图有几个顶点几条边

运行下面这段程序: #include <iostream> #include <string> #include <utility> #include <vector> using names

开始练习 →