LeetCode Weekly Contest 370 3問目 - Maximum Score After Applying Operations on a Tree [2925]

Source

LeetCode Weekly Contest 370
問題文

問題概要

省略

解法

省略

cLay(version 20231031-1)のコード

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

#define main dummy_main
{}
#undef main

class Solution {
public:
  ll maximumScoreAfterOperations(VVI &edges, VI &A) {
    dummy_main();
    static int N, a[1d5], b[], pre[];
    static ll dp[1d5][2];
    graph g;
    N = vec2arr(edges, a, b) + 1;
    g.setEdgeRootedTree(N, N-1, a, b);
    g.preorder(pre);
    rrep[pre](i,N){
      ll s0 = 0, s1 = 0;
      rep[g.edge[i]](j,g.es[i]) (s0, s1) += (dp[j][0], dp[j][1]);
      (dp[i][0], dp[i][1]) = s1 + (0, A[i]);
      if(g.es[i]) dp[i][0] >?= A[i] + s0;
    }
    return dp[0][0];
  }
};

Current time: 2024年05月06日02時34分21秒
Last modified: 2023年11月05日14時01分33秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る

Logged in as: unknown user (not login)

ログイン: