C++批量调整与区间总量 算法挑战
学习之路可以浏览和编辑代码,登录后可保存草稿及运行测试。
最近运行与提交
还没有运行记录。
批量调整与区间总量
在没有分步提示的新场景中,独立应用本单元的数据结构。
需求与输入输出
第一行 n q,随后 n 个初始整数。ADD l r delta 给闭区间每项增加 delta;SUM l r 输出区间总和。初值与 delta 绝对值不超过 10⁶,n、q≤100000。
使用 C++17。输入符合协议,编号从 1 开始;除特别说明外,n、q 均不超过 100000。不要输出额外提示语。
样例输入
3 3
1 2 3
ADD 1 2 4
SUM 1 3
SUM 2 2
样例输出
14
6
验收要求
- 正确处理单元素、空结构或无匹配情况。
- 更新后查询反映最新状态;多个测试之间不共享状态。
- 累计量使用 long long。
实现建议
懒标记表示尚未传给子区间的增量;更新区间总和时应乘区间长度,下探前传播标记。
先手工推演样例,再独立编写实现。通过测试后需正式提交,才计入编程成果。
卡住了?展开提示
懒标记表示尚未传给子区间的增量;更新区间总和时应乘区间长度,下探前传播标记。