笔记:代码随想录算法训练营day60:并查集理论基础、寻找存在的路径

本文为学习并查集理论基础 | 代码随想录、代码随想录过程中的思考

find是找的顶头上司,而不是当前上司,最后怎么也得找到一个顶头上司的上司是自己,要不然这个结构也不成立

使用issame替换会使被操作者为当前节点,而非根节点。join(u,v)的功能为将v的根节点挂到u的根节点下

模拟过程可以看出,join中的find中的路径压缩要在长度大于2(路径大于1)的时候才会体现出来

107. 寻找存在的路径

卡码网题目链接(ACM模式)

使用并查集的模板,主要把该连的线(边)连一下,然后如果二位是同一领导就可以判断在同一合集了,能连上线,就是所谓的有路径

#include 
#include 
using namespace std;
 
int n;
vector father=vector(101,0);
 
void init(){
    for(int i=0;i>n>>m;
    init();
    for(int i=0;i>s>>t;
        join(s,t);
    }
    cin>>source>>destination;
 
    if (isSame(source,destination)==true) cout<<1<

你可能感兴趣的:(笔记)