牛客網小白月賽5 I 區間

2021-08-21 16:35:27 字數 1053 閱讀 7980

apojacsleam喜歡陣列。

他現在有乙個n個元素的陣列a,而他要對a[l]-a[r]進行m次操作:

操作一:將a[l]-a[r]內的元素都加上p

操作二:將a[l]-a[r]內的元素都減去p

最後詢問a[l]-a[r]內的元素之和?

請認真看題乾及輸入描述。

輸入共m+3行:

第一行兩個數,n,m,意義如「題目描述」

第二行n個數,描述陣列。

第3-m+2行,共m行,每行四個數,q,l,r,p,若q為1則表示執行操作2,否則為執行操作1

第4行,兩個正整數l,r

乙個正整數,為a[l]-a[r]內的元素之和

示例1

10 5

1 2 3 4 5 6 7 8 9 10

1 1 5 5

1 2 3 6

0 2 5 5

0 2 5 8

1 4 9 6

2 7

23
開始看到這道題目上去第一反應線段樹模板**,然後就陷入了記憶體超限和wa的死迴圈,從開始的30%一直到最後的%90...wa了七八次...

關鍵點:   因為最後只要查詢一次,在過程中僅僅只需要對這一段距離進行操作,因為輸入順序的關係可以現將操作的數給儲存下來,到後面在統一進行操作, 然後用乙個數事先計算出l - r的和,然後每次操作就僅僅只對這個和進行操作。

秒啊~~~~~~

下面附上**

#include#include#includeusing namespace std;

typedef long long ll;

const int maxn = 1000001;

int sz[maxn];

int q[maxn],l[maxn],r[maxn],p[maxn];

int n,m;

int tl,tr;

int main()

printf("%lld",sum);

return 0;

}

牛客小白月賽5 I 區間

apojacsleam喜歡陣列。他現在有乙個n個元素的陣列a,而他要對a l a r 進行m次操作 操作一 將a l a r 內的元素都加上p 操作二 將a l a r 內的元素都減去p 最後詢問a l a r 內的元素之和?請認真看題乾及輸入描述。輸入共m 3行 第一行兩個數,n,m,意義如 題目...

牛客小白月賽5 I 區間

看到乙份不錯的操作。apojacsleam喜歡陣列。他現在有乙個n個元素的陣列a,而他要對a l a r 進行m次操作 操作一 將a l a r 內的元素都加上p 操作二 將a l a r 內的元素都減去p 最後詢問a l a r 內的元素之和?請認真看題乾及輸入描述。輸入共m 3行 第一行兩個數,...

區間 interval 牛客小白月賽5

apojacsleam喜歡陣列。他現在有乙個n個元素的陣列a,而他要對a l a r 進行m次操作 操作一 將a l a r 內的元素都加上p 操作二 將a l a r 內的元素都減去p 最後詢問a l a r 內的元素之和?請認真看題乾及輸入描述。輸入共m 3行 第一行兩個數,n,m,意義如 題目...