yukicoder No.1221 - 木 *= 3

Source

ニコニコミュニティ
問題文

問題概要

省略

解法

省略

cLayversion 20200911-1)のコード

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

int N, A[1d5], B[1d5], U[1d5], V[1d5];
ll dp[2][1d5];
graph g;
int pre[1d5];
{
  rd(N,A(N),B(N),(U--,V--)(N-1));
  g.setEdgeRootedTree(N,N-1,U,V);
  g.preorder(pre);

  rrep[pre](i,N){
    dp[0][i] = 0;
    dp[1][i] = A[i];
    rep[g.edge[i]](j,g.es[i]){
      dp[0][i] += max(dp[0][j]+B[i]+B[j], dp[1][j]);
      dp[1][i] += max(dp[0][j], dp[1][j]);
    }
  }
  wt(max(dp[0][0],dp[1][0]));
}

Current time: 2024年03月29日17時11分48秒
Last modified: 2020年09月11日06時55分09秒 (by laycrs)
Tags: Competitive_Programming_Incomplete yukicoder
トップページに戻る

Logged in as: unknown user (not login)

ログイン: