AtCoder Beginner Contest 183 F問題 - Confluence

Source

AtCoder Beginner Contest 183
問題文

問題概要

省略

解法

省略

cLayversion 20201115-2)のコード

C++に変換後のコードはこちら

int N, Q, C[2d5], T, A, B;
map<int,int> mp[2d5];
{
  int res;
  unionFind uf;
  rd(N,Q,(C--)(N));
  uf.malloc(N,1);
  rep(i,N) mp[i][C[i]]++;
  rep(Q){
    rd(T, A--, B--);
    A = uf(A);
    if(T==1){
      B = uf(B);
      if(uf(A) == uf(B)) continue;
      uf(A, B);
      if(uf(A) != A) swap(A,B);
      for(pair<int,int> p : mp[B]) mp[A][p.first] += p.second;
    }
    if(T==2){
      res = 0;
      if(mp[A].count(B)) res = mp[A][B];
      wt(res);
    }
  }
}

Current time: 2021年09月27日22時10分40秒
Last modified: 2020年11月15日22時45分02秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Beginner_Contest ABC183 ABC_F
トップページに戻る

Logged in as: unknown user (not login)

ログイン: