字首和與差分

2021-10-08 08:37:40 字數 1207 閱讀 1394

#include

using

namespace std;

const

int n =

1010

;int a[n]

[n], sum[n]

[n];

intmain()

int x1, y1, x2, y2;

while

(q--

)return0;

}

差分就是資料間的差。是原始陣列的相鄰元素之間的差值,有b[i]=a[i+1]-a[i].

#include

#include

using

namespace std;

const

int n =

100010

;int a[n]

, b[n]

;void

insert

(int l,

int r,

int c)

// 為[l, r]區間的數都加上c

intmain()

int l, r, c;

while

(m--

)int ans =0;

for(

int i =

1; i <= n; i++

)return0;

}

#include

using

namespace std;

const

int n =

1010

;int sum[n]

[n], b[n]

[n];

// 對以(x1,y1)為左上角以(x2,y2)為右下角的矩形區域全部加上c

void

insert

(int x1,

int y1,

int x2,

int y2,

int c)

intmain()

int x1, y1, x2, y2, c;

while

(q--

)for

(int i =

1; i <= n; i++

)// 遞推求字首和

cout << endl;

}return0;

}

字首和與差分

數列的字首和 sum i 表示a 1 a i 的和 用處1 求i j的和sum j sum i 1 用處2 區間修改。設定乙個change陣列。當區間 i,j 上要加k時,我們令change i k,令change j 1 k。如果我們對change陣列求字首和的話,字首和sum change i ...

字首和與差分

從陣列第乙個開始累加 s i s i 1 a i 求區間 l,r 的和,o 1 複雜度sum s r s l 1 遞推s i j s i j s i 1 j s i j 1 s i 1 j 1 例題 雷射炸彈一種新型的雷射炸彈,可以摧毀乙個邊長為r的正方形內的所有的目標。現在地圖上有n n 1000...

字首和與差分

例題入口 include const int n 320 int a n n a i 1 a i 0 1.對a 求出平方數 將其值置為1 不是平方數就是0 2.對a求乙個字首和 3.對 a,b 求乙個部分和 int sum n n void init for int i 1 i 100000 i i...