CSES 1648 - Dynamic Range Sum Queries
1.0s 512M給定一個包含 \(n\) 個整數的陣列,你的任務是處理 \(q\) 筆以下兩種類型的查詢:
- 將位置 \(k\) 上的值改為 \(u\)
- 區間 \([a,b]\) 中數值的總和是多少?
輸入格式
第一行有兩個整數 \(n\) 和 \(q\):元素個數與查詢次數。
第二行有 \(n\) 個整數 \(x_1,x_2,\dots,x_n\):陣列的內容。
接下來有 \(q\) 行描述查詢,每行有三個整數:格式為「\(1\) \(k\) \(u\)」或「\(2\) \(a\) \(b\)」。
輸出格式
針對每筆類型 2 的查詢,輸出其結果。
範例輸入 1
8 4
3 2 4 5 1 1 5 3
2 1 4
2 5 6
1 3 1
2 1 4
範例輸出 1
14
2
11
限制
- \(1 \le n,q \le 2 \cdot 10^5\)
- \(1 \le x_i, u \le 10^9\)
- \(1 \le k \le n\)
- \(1 \le a \le b \le n\)
題目來源
CSES - Dynamic Range Sum Queries
題目來自 CSES Problem Set(Antti Laaksonen),授權 CC BY-NC-SA 4.0;本頁為翻譯,以相同授權分享。
登入後即可撰寫程式並提交評測。
登入