码迷,mamicode.com
首页 > 编程语言 > 详细

差分,差分数组

时间:2020-07-11 23:03:18      阅读:73      评论:0      收藏:0      [点我收藏+]

标签:image   src   div   技术   col   前缀和   alt   com   数组   

差分,就是求本位与前一个的差.

d[i]=a[i]-a[i-1]

一维差分一遍for循环就出来了呀.

有什么用呢?

这种:

1、将区间【1,4】的数值全部加上3

2、将区间【3,5】的数值全部减去5

在某一个数组全部加上或者减去某个东西,就可以用差分数组.

举个例子嗷嗷嗷

技术图片

 

 技术图片

 

 

 1 #include <iostream>
 2 #include <set>
 3 #include <cstring>
 4 #include <stdio.h>
 5 using namespace std;
 6 //二维前缀和
 7 int b[5][5]={0};
 8 int a[5][5];
 9 int a1[5];
10 int b1[5];
11 
12 
13 
14 
15 
16 int org[100]={0};
17 int bios[100]={0};
18 int n;
19 int main(){
20     while(scanf("%d",&n) && n){
21         int begin;
22         int end;
23         for (int i = 1; i <= n; ++i) {
24             scanf("%d",&begin);
25             scanf("%d",&end);
26             bios[begin]++;
27             bios[end+1]--;
28         }
29         for (int j = 1; j <= n; ++j) {
30             org[j]=org[j-1]+bios[j];
31 
32 
33         }
34         for (int k = 1; k <= n ; ++k) {
35             cout<<org[k]<<" ";
36 
37         }
38 
39     }
40 
41 
42 
43 
44 
45 
46 }

 

差分,差分数组

标签:image   src   div   技术   col   前缀和   alt   com   数组   

原文地址:https://www.cnblogs.com/zhmlzhml/p/13285668.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!