差分,差分数组
标签:image src div 技术 col 前缀和 alt com 数组
差分,就是求本位与前一个的差.
d[i]=a[i]-a[i-1]
一维差分一遍for循环就出来了呀.
有什么用呢?
这种:
1、将区间【1,4】的数值全部加上3
2、将区间【3,5】的数值全部减去5
在某一个数组全部加上或者减去某个东西,就可以用差分数组.
举个例子嗷嗷嗷
1 #include 2 #include set>
3 #include 4 #include 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 i) {
24 scanf("%d",&begin);
25 scanf("%d",&end);
26 bios[begin]++;
27 bios[end+1]--;
28 }
29 for (int j = 1; j j) {
30 org[j]=org[j-1]+bios[j];
31
32
33 }
34 for (int k = 1; k k) {
35 cout" ";
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
文章来自:
搜素材网的
编程语言模块,转载请注明文章出处。
文章标题:
差分,差分数组
文章链接:http://soscw.com/index.php/essay/77067.html
评论