Максимальна сума на дереві#973

Максимальна сума на дереві (Розбір)

Нехай — вершина дерева. Позначимо через:

Тоді відповіддю на задачу буде max(dp_1(1), dp_2(1)), якщо взяти першу вершину за корінь дерева.

Визначимо рекурсивно наведені функції:

dp_1(v) = c_v + \sum_{i=1}^k dp_2(to_i) , де~to_1, ..., to_k - сини~вершини~v.