POJ2054:Color a Tree 题解

思路

我最近一直在跟着李煜东写的算法进阶教程写题。这道题的限制条件有以下几个:

  • 必须在父节点染色的情况下才能进行对子节点的染色。
  • 要求最小的染色代价。

思考这两个条件,我们可以得出,只要我们优先选择平均损耗最大的子树进行染色,我们就可以得到最优解;另外,明显的是,如果我们给一个父节点染色,那么它的子节点中平均损耗最大的节点就会被优先染色。

为了让更多人理解,我打算分段代码来解释这个解法。

Continue reading →