ans+=g[u][0];
这一句话,写在继承重儿子后就是对的,正确写法:
if(son[u])//先访问重儿子 { f[son[u]]=f[u]+1,g[son[u]]=g[u]-1; dfs(son[u],u); } f[u][0]=1; ans+=g[u][0];//没学懂
但是写在 dfs\tt dfsdfs 最后面就错了???
根据转移的意义不应该写在转移完之后么?