并查集基础

我是一个小白,请高手大神指教一下并查集

2 条评论

  • @ 2020-04-19 13:39:58

    并查集基础头文件:

    #ifndef _GLIBCXX_UNION_CHECKING_SET
    #define _GLIBCXX_UNION_CHECKING SET 1
    
    #progma GCC system_header
    
    #include <vector>
    
    namespace std _GLIBCXX_VISIBILITY(default){
        _GLIBCXX_BEGIN_NAMESPACE_VERSION
        class union_checking_set{
            public:
                vector <int> father;
                int find(int x){
                    while(father[x]!=x){
                        x=father[x];
                    }
                    return x;
                }
                void meghe(int x,int y){
                    x=find(x);
                    y=find(y);
                    father[x]=y;
                }
                void init(int n){
                    for(int i=1;i<=n;i++){
                        father.push_back(i);
                    }
                }
        };
        _GLIBCXX_END_NAMESPACE_VERSION
    }
    
    #endif
    
  • @ 2020-04-19 09:11:50
  • 1