Why it matters
Difference array unlocks efficient batch updates. Useful for scheduling + aggregation.
Advertisement
The architecture
Diff array: diff[i] = a[i] - a[i-1].
Range +v: diff[l] += v; diff[r+1] -= v.
Advertisement
How it works end to end
Extension: range updates + range queries via Fenwick trees. Two BITs handle it.
2D diff array: for 2D range updates.