Given a sequence of operations:
update i x: Setquery v l r: Sum of after version (0-indexed, version 0 is initial)
Example:
Initial:
update 1 5 (version 1):
update 2 7 (version 2):
query 0 0 2 returns (version 0: )
query 1 0 2 returns (version 1: )
Use persistent segment tree. Each update creates a new version.