题解 1873: 蓝桥杯2017年第八届真题-合根植物

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

并查集-合根植物(c++)

合根植物最多为m*n,每次合根使数量减1;并查集将不同编号同一植物归为统一的根```cpp#includeusingnamespacestd;constintN=1000*1000+5;ints[N];intans=0;intfind(intx){if(x!=s[x]){s[x]=find(s[x])

1873: 蓝桥杯2017年第八届真题-合根植物-----C++代码

摘要:解题思路:并查集思想:            1.初始化:每个结点的父亲结点首先设为它本身。            2.路径压缩(解决特殊情况下的树的层次深而造成的复杂度增大的问题)         ……

蓝桥杯2017年第八届真题-合根植物-题解(C语言代码)-----C语言

###建议学过并查集再来做这道题,不然看不懂思路的,B站有视频,或者可以看一下《啊哈算法》这本书,欢迎讨论,有疑问可以私信--------解题思想:运用并查集的思想,每输入一次连根,就进行一次并查集变换。注意事项:m,n最大可以达到1000。
优质题解

蓝桥杯2017年第八届真题-合根植物(并查集C/C++)

解题思路:这道题可以使用并查集来解决。并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。我们可以将每个小格子看作是一个节点,然后将合根的小格子的节点连在一起,这样就形成了一棵树。我们在构建并查集时,可以将每个节点的父节点设置为它本身,这样可以方便我们查找每个节点的根节点。