Умножение с использованием дерева Фенвика

Мы можем выполнить обновление в дереве фенвиков, например, добавив значение и умножив его на значение. У меня есть следующий код для добавления значения х к элементу в позиции л.

while(l <= n-1)
{
    tree[l] = tree[l] + x;
    l = l + (l&(-l));
}

Точно так же я хочу выполнить операцию умножения. Я не понимаю, как это сделать. Любая помощь заметна.

1 ответ

Решение

Вычислите разницу между старым и новым значениями узла, затем используйте логику сложения, чтобы добавить эту разницу к значению узла.

Другие вопросы по тегам