zoukankan      html  css  js  c++  java
  • BZOJ4195 离散化+并查集

    BZOJ4195

    debug了好久都快烦了呜呜呜呜呜呜呜呜呜呜

    //
    // Created by Arc on 2021/2/3.
    //
    
    #include <bits/stdc++.h>
    #include <unordered_map>
    using namespace std;
    typedef pair<int, int> P;
    const int N = 2e5 + 5;
    vector<P> v1, v2;
    int n,m,tot;
    int fa[1000000];
    unordered_map<int,int> mp;
    void init(){
        for (int i = 0; i < tot; ++i) {
            fa[i]=i;
        }
    }
    int get(int x){
        if(fa[x]==x)
            return x;
        return fa[x]=get(fa[x]);
    }
    void merge(int x,int y){
        fa[get(x)]=get(y);
    }
    int get_map(int x){
        if(mp.count(x)) return mp[x];
        return mp[x]=tot++;
    }
    int main(){
        int t;
        cin>>t;
        while(t--){
            cin>>n;
            tot=0;
    
            for (int i = 1; i <= n ; ++i) {
                int x,y,e;
                cin>>x>>y>>e;
                x=get_map(x);
                y=get_map(y);//离散化
                if(e)
                    v1.emplace_back(x,y);
                else
                    v2.emplace_back(x,y);
            }
            //并查集
            init();
            int v1_num=v1.size();
            int v2_num=v2.size();
            for (int i = 0; i < v1_num; ++i) {
                merge(v1[i].first,v1[i].second);
            }
            bool flag=true;
            for(int i = 0; i < v2_num; ++i){
                if(get(v2[i].first)==get(v2[i].second)) {
                    flag = false;
                    break;
                }
            }
            if(flag){
                cout<<"YES"<<endl;
            }else{
                cout<<"NO"<<endl;
            }
            //不要忘记清空
            mp.clear();
            v1.clear();
            v2.clear();
    
        }
        return 0;
    }
    
    为了自己,和那些爱你的人
  • 相关阅读:
    sql注入之payload
    cve2019-0708漏洞复现
    xss学习
    kernel panic not syncing
    nodeJS爬虫
    JS刷题自制参考知识
    HTML Cookie
    点击按钮触发div颜色改变的几种写法
    Bootstrap4布局(简要)
    jQuery实现论坛发帖Demo
  • 原文地址:https://www.cnblogs.com/zhmlzhml/p/14368236.html
Copyright © 2011-2022 走看看