C++ 实现数组区间求和查询问题
以下是实现该功能的 C++ 代码: ```cpp #include <iostream> #include <vector> int main() { int n, m; // 读取 n 和 m std::cin >> n >> m; // 存储数组 a std::vector<int> a(n + 1); for (int i = 1; i <= n; ++i) { std::cin >> a[i]; } // 存储每次询问的 k std::vector<int> queries(m); for (int i = 0; i < m; ++i) { std::cin >> queries[i]; } // 处理每次询问 for (int i = 0; i < m; ++i) { int k = queries[i]; int sum = 0; // 计算从 a[k] 到 a[n] 的和 for (int j = k; j <= n; ++j) { sum += a[j]; } // 输出结果 std::cout << sum << std::endl; } return 0; } ``` ### 代码解释: 1. **输入读取**:首先读取 `n` 和 `m`,分别表示数组元素的数量和询问的次数。然后读取数组 `a` 的元素,存储在 `vector` 中。接着读取 `m` 个询问的 `k` 值,存储在 `queries` 向量中。 2. **处理询问**:对于每个询问的 `k` 值,从 `a[k]` 开始累加到 `a[n]`,并将结果输出。 ### 复杂度分析: - **时间复杂度**:每次询问的时间复杂度为 $O(n)$,总共有 $m$ 次询问,因此总的时间复杂度为 $O(mn)$。 - **空间复杂度**:主要使用了存储数组 `a` 和询问的 `queries` 向量,空间复杂度为 $O(n + m)$。 ######[AI问答 | 476点数解答 | 2026-05-30 16:12:28]
- Python实现:随机录入45位学生四次成绩函数大揭秘(GPT | 477点数解答 | 2024-12-17 17:00:35)382
- Python实现班级45位同学成绩生成、总评计算及分数统计(字节豆包 | 579点数解答 | 2024-12-21 11:55:01)271
- Python实现45位学生四次成绩随机录入及输出(GPT | 441点数解答 | 2024-12-21 21:02:22)276
- Python实战:45位同学成绩生成、总评计算与分数统计揭秘(字节豆包 | 688点数解答 | 2024-12-22 10:14:17)263
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)401
- C++实现计算最少添加数字次数以匹配两个数组元素(字节豆包 | 714点数解答 | 2026-03-08 19:44:54)42
- 补全含错误代码:Vue结合Element UI组件实现查询、新增及表格展示功能 ( | 400点数解答 | 2023-12-19 15:20:50)459
- 单线程频繁查ClickHouse致CPU飙升?这些优化方案速看!(DeepSeek | 491点数解答 | 2025-02-13 17:49:54)254
- MySQL:巧用 NOT LIKE 查询字段不包含特定字符串及注意要点 (DeepSeek | 264点数解答 | 2025-02-13 18:25:01)202
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)368
- C++实现:输入整数英文单词算乘积,输出数字与英文结果,可多次计算!(GPT | 2268点数解答 | 2024-05-24 01:55:27)406
- C语言巧解:计算整数区间内最遥远素数差值(阿里通义 | 428点数解答 | 2024-11-22 14:53:33)194