前缀和模板
前綴和可以常數時間查詢數組區間和,在輸入數組的時候順便預處理。
// 前綴和算法可以O(1) 查詢數組區間和 // sum數組用于保存前綴和,sum[i]表示A[0,i]的和 #include <iostream> using namespace std; int A[15]; int sum[15]; int main() {int n; cin >> n;// 讀取數據同時初始化前綴和數組for (int i = 1; i <= n; i++) {cin >> A[i];sum[i] = sum[i-1] + A[i];}int a,b;while (cin >> a >> b) { // a到b的和即是sum[b]-sum[a-1]cout << sum[b] - sum[a-1] << endl;}return 0; }輸入
9 1 2 3 4 5 6 7 8 9 1 4 2 6 1 9輸出
10 20 45總結
- 上一篇: 【模拟】P1424 小鱼的航程(改进版)
- 下一篇: 【dfs】P1036 选数