路径压缩是什么意思
并查集里的「路径压缩」指的是【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