差分及简单运用

差分及简单运用,第1张

差分及简单运用

所谓差分,即是将数列中的每一项与前一项作差。

例如 1 8 9 3 6 5,差分后即得 1 7 1 -6 3 -1

差分后的第一个数与原数列的第一个数相同,即相当于第一项减0

差分后的数列前n项的和即为原数列第n项的值。

应用

在某数列的 [  L  ,  R  ] 区间上的每个数加上某个值(这里假设加1),即只需要在差分数列的 L 处+1,R+1 处-1即可。

如此可将原时间复杂度为O(n)的 *** 作简化为仅有O(1)时间复杂度的 *** 作。

例题

 代码如下

#include 
int arr[1010][1010]={0};
int main(void)
{
	int n,m,i,j,l,x1,x2,y1,y2;
	scanf("%d%d",&n,&m);
	for(i=0;i 

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5719103.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-18

发表评论

登录后才能评论

评论列表(0条)

    保存