void dfs(int pos){ dp[pos][1]=a[pos]; for(int i=0;i<g[pos].size();i++){ int u=g[pos][i]; dfs(u); dp[pos][0]+=max(dp[***u][1],dp[u][0]); dp[pos][1]+=dp[u][0]; } }
注意:***处不能写成 pospospos 不然10分