并查集

来源:互联网 发布:淘宝店没流量怎么办 编辑:程序博客网 时间:2024/06/05 17:03

基本模板:

/*UF 模板*/class UF{public:    /*初始化*/    void UF(int n)    {        id.reset(n);        for(int i=0; i < n; i++)        {            id[i] = i;        }    };    /*连接*/    boolean connect(int i,int j)    {        return root(i) == root(j);    }    /*并集合*/    void unionSet(int p, int q)    {        int i = root(p);        int j = root(q);        id[i] = j;    }private:    int root(int i)    {        while(i != id[i])        {            id[i] = id[id[i]];            i = id[i];        }        return i;    }private:     vector<int> id;};
原创粉丝点击