酷代码 AI
菜单
服务商

C++ 实现花朵浇水次数区间求和问题

以下是使用 C++ 实现上述功能的代码: ```cpp #include <iostream> #include <vector> using namespace std; int main() { int n, q; // 输入花的数量 n 和浇水轮数 q cin >> n >> q; // 初始化一个长度为 n + 1 的向量,用于记录每朵花的浇水次数 vector<int> flowers(n + 1, 0); for (int i = 0; i < q; i++) { int L, R, x; // 输入每轮浇水的区间 [L, R] 以及浇水次数 x cin >> L >> R >> x; // 对区间 [L, R] 内的花增加浇水次数 for (int j = L; j <= R; j++) { flowers[j] += x; } } int b, y; // 输入最后询问的区间 [b, y] cin >> b >> y; int sum = 0; // 计算区间 [b, y] 内花的浇水次数之和 for (int i = b; i <= y; i++) { sum += flowers[i]; } // 输出结果 cout << sum << endl; return 0; } ``` ### 代码解释: 1. **输入处理**:首先读取花的数量 `n` 和浇水轮数 `q`,然后使用一个长度为 `n + 1` 的向量 `flowers` 来记录每朵花的浇水次数,初始值都为 0。 2. **浇水操作**:通过循环 `q` 次,每次读取浇水区间 `[L, R]` 和浇水次数 `x`,并将区间内的花的浇水次数增加 `x`。 3. **询问处理**:读取最后询问的区间 `[b, y]`,然后计算该区间内花的浇水次数之和。 4. **输出结果**:输出计算得到的浇水次数之和。 ######[AI问答 | 485点数解答 | 2026-03-13 20:19:59]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]