分块和可持久化机制在现代计算机系统中得到了广泛运用(即分页和写时复制)。
其中,分块使得对数据的大规模操作的任务量得以均摊,可持久化机制则大大优化了复制数组的时空效率。
目前小 X 接到了一个设计数据系统的任务,其任务可以抽象为:
起始给定一个全部为零的整数数组 ,长度为 ,现在需要支持四种操作:
(假设目前共有 个数组,起始 ;所有标号从 开始计数)
- ,表示将 的 号元素到 号元素全部赋值为 。
- ,表示将 的 号元素到 号元素全部增加上 。
- ,表示将一个 复制为一个新的数组,编号顺延(即设置为操作前的 值)。
- ,表示查询 的 号元素的值。
小 X 希望你结合分块和可持久化的思想,利用实际数据特征,高效解决这一问题。