单点修改

8 分钟

a[i] 加 v,要更新所有覆盖它的 c:从 i 出发不断 i+=lowbit(i)void add(int i,int v){ for(;i<=n;i+=lowbit(i)) c[i]+=v; },只走 O(log n) 步。

小纸条

n=8 时,add(3,…) 会依次更新哪些下标?

登录 后可看答案

单点修改 · 算法进阶 · op599 课程