显然这是一棵树。调整越靠根节点的树枝调整的代价越少。先找到最深的叶子节点,再从最小的子树开始,把所有子节点调整到同一深度,再调整子树上面的树枝。
记 d[x]
是 x
到叶子节点的最长距离,对于每一个 x
的子节点,代价为它们的距离差。
查看代码
1 |
|
\begin {array}{c} \mathfrak {One Problem Is Difficult} \\\\ \mathfrak {Because You Don't Know} \\\\ \mathfrak {Why It Is Diffucult} \end {array}
显然这是一棵树。调整越靠根节点的树枝调整的代价越少。先找到最深的叶子节点,再从最小的子树开始,把所有子节点调整到同一深度,再调整子树上面的树枝。
记 d[x]
是 x
到叶子节点的最长距离,对于每一个 x
的子节点,代价为它们的距离差。
1 | #include <cstdio> |