Умножение с использованием дерева Фенвика
Мы можем выполнить обновление в дереве фенвиков, например, добавив значение и умножив его на значение. У меня есть следующий код для добавления значения х к элементу в позиции л.
while(l <= n-1)
{
tree[l] = tree[l] + x;
l = l + (l&(-l));
}
Точно так же я хочу выполнить операцию умножения. Я не понимаю, как это сделать. Любая помощь заметна.
1 ответ
Решение
Вычислите разницу между старым и новым значениями узла, затем используйте логику сложения, чтобы добавить эту разницу к значению узла.