首页 > 试题广场 >

小苯的数组查询(二)

[编程题]小苯的数组查询(二)
  • 热度指数:187 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
小苯有一个长度为 n 的数组 a,他希望在 a 上处理一些操作,具体如下:

\bulleta 中所有奇数都加上 x
\bulleta 中所有偶数都加上 x
\bullet 查询数组 a 中所有数字的和。

请你帮他处理所有的操作吧。

输入描述:
输入包含 q + 2 行。
第一行两个正整数 n, q\ (1 \leq n, q \leq 200000),表示数组的长度,和操作的个数。
第二行 n 个正整数 a_i\ (1 \leq a_i \leq 10^5),表示数组的元素值。
接下来 q 行,每行一个操作,格式为:1\ x\ y 或 2 (1 \leq x \leq 2, 1 \leq y \leq 10^5) 。
\bullet 如果 op = 1,则表示修改操作,如果 x = 1,则表示将所有值奇数的数字都加上 y,否则 x=2 表示将所有值为偶数的数字都加上 y
\bullet 如果 op = 2,则表示查询操作,查询数组 a 中所有数字的总和。


输出描述:
输出包含若干行。
对于每个 op = 2 的询问,做出对应的回答。
示例1

输入

3 4
1 2 3
1 1 2
2
1 2 1
2

输出

10
11

说明

一开始数组为 [1,2,3]
执行完第一次修改操作(给所有奇数加上 2 )后变成:[3, 2, 5]
此时进行第一次查询,数组总和为:3 + 2 + 5 = 10,因此输出 10
头像 丨阿伟丨
发表于 2025-09-12 14:09:17
题目链接 小苯的数组查询(二) 题目描述 给定一个长度为 的数组,需要处理 次操作。操作分为两种: 1 type x:修改操作。如果 ,则将数组中所有奇数都加上 ;如果 ,则将数组中所有偶数都加上 。 2:查询操作。查询并输出当前数组所有元素的总和。 思路分析 直接模拟每次更新操作,即遍历整 展开全文