省略
省略
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)