使用段树在数组的任何段上添加几何级数(GP)

时间:2014-06-26 17:32:56

标签: arrays algorithm data-structures segment fenwick-tree

我知道如何在段树上进行范围更新,包括通过延迟传播向数组的任何给定段添加常量或添加AP,并对任何给定段的总和进行后续查询但不能应用几何级数的相同想法。

如何通过在相同的渐近时间复杂度(log(N))中使用分段树来实现这一目标?

例如,如果数组是:
a[1], a[2], .... , a[l],a[l+1]...a[r-1], a[r] ... a[n - 1], a[n] 如果我们用公共比率d更新[l,r],那么更新的数组将是 a[1], a[2], .... , a[l] + d, a[l+1] + d^2 ...a[r-1] + d^(l-r), a[r] + d^(l-r+1) ... a[n - 1], a[n]

并且仍然可以对log(n)中的任何段的总和进行查询。

0 个答案:

没有答案