Comments

when you say using dfs to find the subtree of the current node with the fewest alive children you mean the subtree of a direct child right?