エイシングプログラミングコンテスト2021(AtCoder Beginner Contest 202) E問題 - Count Descendants

Source

エイシングプログラミングコンテスト2021(AtCoder Beginner Contest 202)
問題文

問題概要

省略

解法

省略

cLayversion 20210524-1)のコード

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

int N, A[2d5], B[], Q, U[], D[];
int res[], vis[];
VI ind[], dd[];
graph g;

void dfs(int n, int b, int d){
  rep(i,ind[n].size()) res[ind[n][i]] -= vis[dd[n][i]];
  vis[d]++;
  rep[g.edge[n]](i,g.es[n]) dfs(i,n,d+1);
  rep(i,ind[n].size()) res[ind[n][i]] += vis[dd[n][i]];
}

{
  rd(N);
  rep(i,N-1) A[i] = i+1, B[i] = rd_int()-1;
  rd(Q,(U--,D)(Q));
  g.setEdgeRootedTree(N,N-1,A,B);
  rep(i,Q){
    ind[U[i]].push_back(i);
    dd[U[i]].push_back(D[i]);
  }
  dfs(0,-1,0);
  wtLn(res(Q));
}

Current time: 2021年12月05日23時49分26秒
Last modified: 2021年05月24日22時25分37秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Beginner_Contest ABC202 ABC_E
トップページに戻る

Logged in as: unknown user (not login)

ログイン: