AtCoder Beginner Contest 152 F問題 - Tree and Constraints

Source

AtCoder Beginner Contest 152
問題文

問題概要

省略

解法

省略

cLayversion 20200214-1)のコード

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

int N, A[50], B[50], M, U[20], V[20];
ll ind[50];

wgraph<ll> g;
ll dist[50][50];

ll mask[20];
int len, path[51];

{
  ll res = 0, mk;
  rd(N,(A--,B--)(N-1),M,(U--,V--)(M));

  rep(i,N-1) ind[i] = (1LL << i);
  g.setEdge(N,N-1,A,B,ind);
  rep(i,N) g.getDistForest(i,dist[i]);
  rep(i,M) mask[i] = dist[U[i]][V[i]];

  rep(i,1<<M){
    mk = 0;
    rep(j,M) if(i & 1<<j) mk |= mask[j];
    res if[BIT_popcount(i)%2==0,+=,-=] 1LL << (N - 1 - BIT_popcount(mk));
  }

  wt(res);
}

Current time: 2021年09月19日20時03分04秒
Last modified: 2020年02月16日11時10分46秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Beginner_Contest ABC152 ABC_F
トップページに戻る

Logged in as: unknown user (not login)

ログイン: