树形dp模板

void dfs(int x)
{
    vis[x] = 1 ;
    for(int i = head[x] ; i ; i = edge[i].nxt)
    {
        int v = edge[i].to ;
        if(vis[v]) continue ;
        dfs(v) ;
        dp[x][1] += dp[v][0] ;
        dp[x][0] += max(dp[v][0], dp[v][1]) ;
    }
    return ;
}
posted @ 2023-04-27 15:47  Lwen1243  阅读(16)  评论(0)    收藏  举报