Проблема в том, чтобы найти минимальное значение, необходимое для обнуления всех узлов, назовем его K.
Дается недвоичное дерево чисел.
На первом шаге вы можете выбрать один из узлов для начала.Если K больше значения этого узла, вы изменяете это значение на ноль и увеличиваете значение других узлов, которые находятся на расстоянии одного или двух.Обратите внимание, что как только значение узла становится равным нулю, оно больше не будет увеличиваться, и оно не позволит увеличивать присоединенных к нему узлы.
Затем следует выбрать другой узел, который имеет по крайней мереодин узел с нулевым значением на расстоянии один, и повторите процесс
Пример:
5
\
2
\
5
когда мы начнем с листа со значением 5, у нас будет
6
\
3
\
0
Тогда мы должны выбрать 3;мы не можем выбрать 6, потому что у него нет нулевого узла на расстоянии один!
7
\
0
\
0
В конце мы выбираем 7 и K = 7, но если сначала мы выберем 2, то получим:
6
\
0
\
6
Тогда мы должны выбрать 6;поскольку узел со значением два теперь равен нулю, соединение разрывается, и при изменении значения узла со значением шесть больше никакого увеличения не произойдет!
0
\
0
\
6
Таким образом, минимальное значение K = 6
Мой текущий подход:
Найдите максимальный узел и начните с него (если имеется болеевыбран один максимальный узел, тот, который приходит раньше)
Я определяю массив, назовем его возможных узлов , и я добавляю узел, найденный на шаге 1
Пока возможных узлов не пусто, я выполняю следующие шаги:
a.Выберите максимальное значение в возможных узлах;давайте назовем это max_node
b.Сделайте max_node power zero и обновите K
c.Увеличьте значение его родителя, прародителя, детей, внуков и братьев и сестер (если раньше они не были равны нулю)
d.Добавьте своих родителей и потомков с ненулевыми значениями к возможным узлам
e.Удалите max_node из возможных узлов
На самом деле это проблема с домашним заданием, но этот подход не правильный!Он дает неправильные ответы и ограничивает время ожидания.
Ограничения
Количество узлов ≤ 3 × 10 5
-10 9 ≤ значение узлов ≤ 10 9
Ограничение времени: 2,5 секунды
Ограничение памяти: 256 МБ