ACM算法训练【差分】

简介: ACM算法训练【差分】


题目说明


8c6a2bb9c223430699152970912259a3.png


数据范围


c904c1ae73084b88b44c5b339b79602e.png


样例


520039e47a2a45cbaff7eb7450d7e831.png



代码


差分:前缀和的逆运算


11215f52efde4f91a659f0767e90e58b.png


结果:


e132d19531fc461bb8c236774345dc9a.png


构造差分数组


33122a504a4d42f2a6f6c23351e92643.png


求b数组的前缀和即可得到答案:


#include <bits/stdc++.h>
using namespace std;
const int N = 100010;
int a[N],b[N];
int main()
{
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++)  //构造差分数组
    {
        scanf("%d",&a[i]);
        b[i]=a[i]-a[i-1];
    }
    while(m--)  //开始操作
    {
        int l,r,c;
        scanf("%d%d%d",&l,&r,&c);
        b[l]+=c;
        b[r+1]-=c;
    }
    for(int i=1;i<=n;i++) //求b数组的前缀和,得到答案
    {
        a[i]=a[i-1]+b[i];
        printf("%d ",a[i]);
    }
    return 0;
}
目录
相关文章
|
5天前
|
人工智能 算法
基础算法--前缀和与差分
基础算法--前缀和与差分
|
5天前
|
人工智能 移动开发 算法
算法基础:前缀和与差分
算法基础:前缀和与差分
50 1
算法基础:前缀和与差分
|
5天前
|
算法 测试技术 C#
【滑动窗口】【差分数组】C++算法:K 连续位的最小翻转次数
【滑动窗口】【差分数组】C++算法:K 连续位的最小翻转次数
|
6月前
|
算法
算法学习--前缀和与差分
算法学习--前缀和与差分
|
8月前
|
人工智能 算法 JavaScript
[数据结构与算法]基础算法(排序, 二分, 前缀, 差分)
快速排序:(分治的思想)✅ 确定分界点:q[l], q[(r+l)/2], q[r] (中间点可以随机选, 按照同一规则, 这里选(l+r)/2该点) 维护数组:维护分界点的左边都比分界点小,分界点的右边都比分界点大 按照维护关系, 递归处理左右两段 💡思想解释: 先整后细:先让大体总的符合条件,再部分部分解决
|
9月前
|
移动开发 人工智能 算法
【算法基础】差分算法及其应用
【算法基础】差分算法及其应用
117 0
|
9月前
|
算法
基础算法(大数操作 前缀和 差分)
基础算法(大数操作 前缀和 差分)
45 0
|
10月前
|
算法 计算机视觉
差分进化算法在图像处理中的应用研究(Matlab代码实现)
差分进化算法在图像处理中的应用研究(Matlab代码实现)
|
10月前
|
算法 计算机视觉
差分进化算法在图像处理中的应用研究(Matlab代码实现)
差分进化算法在图像处理中的应用研究(Matlab代码实现)
|
10月前
|
算法 调度 Python
改进的多目标差分进化算法在电力系统环境经济调度中的应用(Python代码实现)【电气期刊论文复现】
改进的多目标差分进化算法在电力系统环境经济调度中的应用(Python代码实现)【电气期刊论文复现】