美文网首页
5128. 带阈值的图连通性

5128. 带阈值的图连通性

作者: 来到了没有知识的荒原 | 来源:发表于2020-10-18 16:00 被阅读0次

    5128. 带阈值的图连通性

    这题实际上考的是并查集,以及用类似埃式筛法进行优化。
    不优化会tle的

    class Solution {
    public:
        int p[10010];
        int find(int a){
            if(a!=p[a])p[a]=find(p[a]);
            return p[a];
        }
    
        void merge(int a,int b){
            int roota=find(a),rootb=find(b);
            if(roota!=rootb){
                p[roota]=rootb;
            }
        }
        
        vector<bool> areConnected(int n, int threshold, vector<vector<int>>& queries) {
            for(int i=1;i<=n;i++)p[i]=i;
    
            for(int k=threshold+1;k<=n;k++){
                for(int j=k;j<=n;j+=k){
                    merge(j,k);
                }
            }
    
            vector<bool>ans(queries.size());
            for(int i=0;i<queries.size();i++){
                int a=queries[i][0],b=queries[i][1];
                if(find(a)==find(b))ans[i]=(true);
                else ans[i]=(false);
            }
            return ans;
        }
    };
    

    相关文章

      网友评论

          本文标题:5128. 带阈值的图连通性

          本文链接:https://www.haomeiwen.com/subject/fzjcmktx.html