dfs函数里面:
inline void Dfs(int x)
{
dp[x][0]=0;
dp[x][1]=r[x];
for(register int i=0;i<son[x].size();i++)
{
int y=son[x][i];
Dfs(y);
dp[x][0]+=max(dp[y][0],dp[y][1]);
dp[x][1]+=dp[y][0];
}
}
这一句:
dp[x][0]+=max(dp[y][0],dp[y][1]);
dp[x][1]+=dp[y][0];
是什么意思