zoukankan      html  css  js  c++  java
  • 等式

    日照夏令营D1T3  等式

    很简单的一道题,贪心,先处理对的,把它们放到一个并查集里,如果两个数父亲相同而读入的是0,就输出NO,否则YES。这里要离散化。

    #include<bits/stdc++.h>
    using namespace std;
    void Cin(int &x)
    {
        char c=getchar();x=0;
        while(c>'9'||c<'0')c=getchar();
        while(c<='9'&&c>='0')x=x*10+c-'0',c=getchar();
    }
    int n,k,T;
    struct bcj
    {
        int l,r,v;
        
        bool operator <(const bcj&a)const
        {
            return v>a.v;
        }
        
    }e[100001];
    int dad[100001];
    int b[200011];
    
    int getfather(int x)
    {
        if(dad[x]==x)
        return x;
        dad[x]=getfather(dad[x]);
        return dad[x];
    }
    
    void bf()
    {
        for(int i=1;i<=2*n;i++)
        dad[i]=i;
        for(int i=1;i<=n;i++)
        {
            if(getfather(e[i].l)!=getfather(e[i].r)&&e[i].v==1)
            {
                dad[getfather(e[i].l)]=e[i].r;
            }
            else
            if(getfather(e[i].l)==getfather(e[i].r))
            {
                if(e[i].v==0)
                {
                cout<<"NO"<<endl;
                return;
                }
            }
        }
        cout<<"YES"<<endl;
    }
    
    void init()
    {
          Cin(n);
          for(int i=1;i<=n;i++)
          {
              Cin(e[i].l),Cin(e[i].r),Cin(e[i].v);
              b[i]=e[i].l;
              b[i+n]=e[i].r;
          }
          sort(e+1,e+n+1);
          sort(b+1,b+2*n+1);
          for(int i=1;i<=n;i++)
          {
              e[i].l=lower_bound(b+1,b+2*n+1,e[i].l)-b;
              e[i].r=lower_bound(b+1,b+2*n+1,e[i].r)-b;
          }
    }
    
    int main()
    {
        freopen("equ.in","r",stdin);
        freopen("equ.out","w",stdout);
        
          Cin(T);
          while(T--)
          {
          init();
          bf();
          }
        return 0;
    }
  • 相关阅读:
    670. Maximum Swap
    126. Word Ladder II
    695. Max Area of Island
    689. Maximum Sum of 3 Non-Overlapping Subarrays
    667. Beautiful Arrangement II
    前端开发-css
    前端开发-html
    mysql补充
    pythonl操作数据库
    mysql索引原理
  • 原文地址:https://www.cnblogs.com/war1111/p/7323436.html
Copyright © 2011-2022 走看看