链接:https://ac.nowcoder.com/acm/contest/59840/E 来源:牛客网 给定一共n个整数的数组a1,a2,....,an. 你需要求出B数组b1,b2,...,bn. 对于i=1,2...,n-1有式子成立:bi=ai+1+ai (bn=an+a1) 现在有Q个询问,每次给出l,r,根据给定的l和r输出bl+bl+1+....+br.
时间: 2024-03-30 07:37:34 浏览: 25
这是一道比较基础的数组模拟题目。我们可以先将B数组的第一个元素计算出来,再根据B数组的定义,逐个计算出B数组的每个元素。最后,根据询问的区间,计算区间和即可。
具体做法如下:
1.计算B数组的第一个元素b1,根据题目要求,有b1=a1+a2+an。
2.计算B数组的其他元素,即对于i=2,3,...,n,有bi=ai+ai-1。
3.根据询问的区间[l,r],计算区间和sum,即sum=bl+bl+1+...+br。
代码实现如下:
相关问题
链接:https://ac.nowcoder.com/acm/contest/61132/L 来源:牛客网 给定两个正整数n,m,再给定长度为n的正整数序列a, 保证n为奇数。接下来m行,每行两个正整数p, x。表示把a[p]修改为x。对于每次操作输出修改后的中位数。写个c++的代码
以下是使用C++编写的解答:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector<int> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int i = 0; i < m; i++) {
int p, x;
cin >> p >> x;
a[p] = x;
sort(a.begin(), a.end());
cout << a[n / 2] << endl;
}
return 0;
}
```
首先,我们读取输入的n和m,以及长度为n的正整数序列a。
然后,我们使用循环读取m行的操作。每次操作中,我们读取p和x,并将a[p]修改为x。接下来,我们对序列a进行排序,然后输出修改后的中位数a[n / 2]。
最后,我们返回0,表示程序顺利结束。
请注意,该代码假设输入是有效的,并且没有进行输入验证。如果需要对输入进行验证,请根据题目要求进行适当的修改。
链接:https://ac.nowcoder.com/acm/contest/60282/C 来源:牛客网 小红拿到了一个数组,她可以进行若干次以下操作: 1.选择一个元素,花费 p,使其加 x。 1.选择一个元素,花费 q,使其减 y。 小红希望若干次操作后,数组的平均数是一个整数。你能帮小红求出最小的总代价吗?
对于给定的数组,要使得操作后的数组平均数是一个整数,可以通过以下方法计算最小的总代价:
1. 首先,计算数组的总和sum和元素个数n。
2. 判断sum是否能够整除n,如果不能整除,则无法使得平均数为整数,返回-1。
3. 计算目标平均数target = sum / n。
4. 统计数组中大于target的元素个数count1和小于target的元素个数count2。
5. 计算增加操作的总代价为count1 * p。
6. 计算减少操作的总代价为count2 * q。
7. 返回增加操作总代价和减少操作总代价的和作为最小的总代价。
注意:在计算代价时,需要考虑p、q、x、y的取值范围,以及可能存在的整数溢出情况。
希望能帮到你!如果还有其他问题,请继续提问。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)