最后统计答案的时候
for(int i=1;i<=tot;i++){ if(chu[s[i]])continue;//去重 chu[s[i]]=1; dfs(s[i],0); int res=dp[s[i]][0];//这里!!一定要先记录下来,如果后面再取 dp[s[i]][0] 的 max 它就保存不下来了!!!! dfs(t[i],0); ans+=max(dp[t[i]][0],res); }