貼碼碼,刷題題
#include
using
namespace std;
#define in read()
int in
const
int n=
1e5+5;
int n,a[n]
;int
main()
#include
using
namespace std;
#define in read()
int in
const
int n=
1e5+5;
int n,a[n]
;int
main()
從上面兩道題可以看出,字首和與差分互為逆運算
注意區間
#include
using
namespace std;
#define in read()
int in
const
int n=
1e5+5;
int n,a[n]
,k,ans;
intmain()
cout
}
#include
using
namespace std;
#define in read()
int in
const
int n=
1e5+5;
int n,a[n]
,ans;
intmain()
printf
("%d\n"
,ans>
0?ans:0)
;}
這麼幾分鐘刷完這麼多題還是一件很有成就感的事情 字首和 差分陣列 刷題總結
字首和主要適用的場景是原始陣列不會被修改的情況下,頻繁查詢某個區間的累加和。字首和,核心 就是下面這段 class prefixsum 查詢閉區間 i,j 的累加和 public intquery int i,int j prefix i 就代表著nums 0.i 1 所有元素的累加和,如果我們想求...
字首和 差分
數列的字首和 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 ...
字首和 差分
有n個數和q次操作,每一次操作指明了要操作的區間 l,r 以及讓該區間內的所有元素全部加c 輸出q次操作後所有元素的大小 第一行 n q 1 n,q 2 105 第二行 n個數 a1,a2 an 106 ai 106 接下來q 行 每行3個數 l r c 表示 l,r 區間內每個數加c 1 l r ...