牛客小白月賽5 區間 interval

2022-05-02 22:33:17 字數 543 閱讀 3311

傳送門

題目大意就是給你長度為n的區間,然後有m次操作,操作完了再查詢區間和。

做法就是用字首和和差分,這是我第一次用差分,首先設乙個change陣列用來存每個位置的變化值,先清0,假如是修改[l,r]區間,該區間每個數加p的話,c[l]+=p,c[r+1]-=p,之所以不是直接c[l]=p,c[r+1]=-p,是因為可能修改不止是一次,當然m次操作完了之後,此時c[i]還不是a[i]的變化值,要求啊a[i]的變化值,需要求c陣列的字首和,求完之後c[i]即是代表了a[i]的變化值了,對c陣列和a陣列同時求字首和,然後m次操作後區間和就是a[r]-a[l-1]

#includeusing namespace std;

#define maxn 1000005

#define ll long long

ll a[maxn],c[maxn];

int main()

for(int i=1;i<=n;i++)

cin>>l>>r;

cout

}

區間 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,意義如 題目...

牛客小白月賽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行 第一行兩個數,...