差分模板C++

阅读: 评论:0

差分模板C++

差分模板C++

AcWing 797. 差分

题目

输入一个长度为 n 的整数序列。

接下来输入 m 个操作,每个操作包含三个整数 l, r, c,表示将序列中 l, r 之间的每个数加上 c。

请你输出进行完所有操作后的序列。

输入格式

第一行包含两个整数 n 和 m。

第二行包含 n 个整数,表示整数序列。

接下来 m 行,每行包含三个整数l,r,c,表示一个操作。

输出格式

共一行,包含 n 个整数,表示最终序列。

数据范围

1≤n,m≤100000,
1≤l≤r≤n,
−1000≤c≤1000,
−1000≤整数序列中元素的值≤1000

输入样例:
6 3
1 2 2 1 2 1
1 3 1
3 5 1
1 6 1
输出样例:
3 4 5 3 4 2

解析:本题主要是差分的模板题,通过本题,可以对差分有很好的认识。

首先,梳理一下题目要求

  • 长度为n的整数数列
  • [l, r]之间的每个数加上c
  • 输出最终序列

题目很容易理解,就是将给定区间的每个数加上指定的数。

差分

差分就是构建差分数组,通过差分数组来替代普通的暴力循环解法–就是循环区间,然后对每个数加c。

差分数组就是原数组的两两之间的差

b 1 = a 1 − a 0 , b 2 = a

本文发布于:2024-02-02 08:40:51,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170683445042639.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:模板   差分
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23