現在有乙個n個元素的陣列a,而他要對a[l]-a[r]進行m次操作:
操作一:將a[l]-a[r]內的元素都加上p
操作二:將a[l]-a[r]內的元素都減去p
最後詢問a[l]-a[r]內的元素之和?
n,m <= 1e6
1 #include 2 #include 3 #include 4 #include 56using
namespace
std;
7const
int n = 1e6+10;8
intn,m;
9int
a[n],b[n];
10int
main()
1125
else
2630}31
for(int i = 1; i <= n; i++)
32 b[i] += b[i-1
];33 scanf("
%d%d
",&l,&r);
34long
long sum = 0;35
for(int i = l; i <= r; i++)
36 sum+=a[i]+b[i];
37 cout39return0;
40 }
一維字首和與二維字首和
什麼是字首和?字首和是乙個陣列的某項下標之前 包括此項元素 的所有陣列元素的和。作用 快速求出某一段區間的總和 such as 求出a 3 a 4 a 15 sum 15 sum 2 sum為字首和 優勢 可以在o 1 的複雜度求出某一部分的總和 設b為字首和陣列,a為原陣列,根據這句話可以得到字首...
字首和演算法 一維字首和 二維字首和
輸入乙個長度為n的整數序列。接下來再輸入m個詢問,每個詢問輸入一對l,r。對於每個詢問,輸出原序列中從第l個數到第r個數的和。輸入格式 第一行包含兩個整數n和m。第二行包含n個整數,表示整數數列。接下來m行,每行包含兩個整數l和r,表示乙個詢問的區間範圍。輸出格式 共m行,每行輸出乙個詢問的結果。資...
一維字首和
1 一維字首和 模板 一維字首和 模板題 acwing 795.字首和 s n a i a 2 a 3 a 4 a n s n s n 1 a n a l a l 1 a r s r s l 1 acwing795.字首和 輸入乙個長度為n的整數序列。接下來再輸入m個詢問,每個詢問輸入一對l,r。對...