1876 問題 I: 藍橋杯2017年第八屆真題-數組操作
時間限制: 1s
內存限制: 128MB 提交: 201 解決: 2
題目描述
給出一個長度為 n 的數組 {A_i},由 1 到 n 標號 , 你需要維護 m 個操作。
操作分為三種,輸入格式為:
1 l r d,將數組中下標 l 到 r 的位置都加上 d,即對于 l<=i<=r,執(zhí)行A_i=A_i+d。
2 l_1 r_1 l_2 r_2,將數組中下標為 l_1 到 r_1 的位置,賦值成 l_2 到 r_2 的值,保證 r_1-l_1=r_2-l_2。
換句話說先對 0<=i<=r_2-l_2 執(zhí)行 B_i=A_(l_2+i),再對 0<=i<=r_1-l_1 執(zhí)行 A_(l_1+i)=B_i,其中 {B_i} 為一個臨時數組。
3 l r,求數組中下標 l 到 r 的位置的和,即求出 ∑_(i=l到r) A_i 。
輸入
從標準輸入讀入數據。
第一行一個整數 Case,表示測試點編號,其中 Case=0 表示該點為樣例。
第二行包含兩個整數 n,m。保證 1<=n,m<=10^5。
第三行包含 n 個整數 A_i,表示這個數組的初值。保證 0<=A_i<=10^5。
接下來 m 每行描述一個操作,格式如問題描述所示。
對于操作中提到每個數,滿足 0<=d<=10^5,1<=l<=r<=n,1<=l_1<=r_1<=n,1<=l_2<=r_2<=n,r_1-l_1=r_2-l_2。
輸出
輸出到標準輸出。
對于每次 3 操作輸出一行一個數,表示求和的結果。
樣例輸入
0
5 6
1 2 3 4 5
2 1 3 3 5
3 3 5
1 2 4 2
3 3 5
2 1 3 3 5
3 1 5
提示
零基礎同學可以先學習
視頻課程,包含C/C++、Python、百練、藍橋杯輔導、算法數據結構等課程,提供視頻講解以及配套習題,還有老師答疑,
點擊這里了解課程詳情