#LQ0814. 数组操作
数组操作
题目描述
给出一个长度为 的数组 ,由 1 到 标号 , 你需要维护 个操作。
操作分为三种,输入格式为:
- ,将数组中下标 到 的位置都加上 ,即对于 ,执行 。
- ,将数组中下标为 到 的位置,赋值成 到 的值,保证 。换句话说先对 执行 ,再对 执行 ,其中 为一个临时数组。
- ,求数组中下标 到 的位置的和,即求出 。
输入描述
第一行一个整数 Case,表示测试点编号,其中 表示该点为样例。
第二行包含两个整数 。保证 。
第三行包含 个整数 ,表示这个数组的初值。保证 。
接下来 每行描述一个操作,格式如问题描述所示。
其中,$0≤d≤10^5,1≤l≤r≤n,1≤l_1≤r_1≤n1≤l_2≤r_2≤n,r_1−l_1=r_2−l_2$。
输出描述:
对于每次 3 操作输出一行一个数,表示求和的结果。
0
5 6
1 2 3 4 5
2 1 3 3 5
3 3 5
1 2 4 2
3 3 5
2 1 3 3 5
3 1 5
14
18
29