IncDec序列 差分

2021-09-11 23:54:58 字數 477 閱讀 2187

給定乙個長度為 n 的數列 a1,a2,…,an每次可以選擇乙個區間 [l,r],使下標在這個區間內的數都加一或者都減一。

求至少需要多少次操作才能使數列中的所有數都一樣,並求出在保證最少次數的前提下,最終得到的數列可能有多少種。

第一行輸入正整數n。

接下來n行,每行輸入乙個整數,第i+1行的整數代表ai。

第一行輸出最少操作次數。

第二行輸出最終能得到多少種結果。

0輸入

411

22

輸出

#include#includeusing namespace std;

typedef long long ll;

const int maxn=1e5+5;

int a[maxn];

int main()

cout

}

IncDec序列(差分 貪心)

原題鏈結 題目大意 給定乙個序列,可以在其連續子串行上進行加一或者減一操作,求使整個序列變成相同數的最小運算元和種數。思路首要要明確是對 l,r 序列進行加一或者減一操作,可以聯想到字首和,我們對乙個陣列b的第l項進行減一操作,第r 1項進行加一操作,這樣作用到b陣列的字首和序列就是連續的區間段 l...

IncDec序列 差分 貪心

給定乙個長度為 n 的數列 a1,a2,an 每次可以選擇乙個區間 l,r 使下標在這個區間內的數都加一或者都減一。求至少需要多少次操作才能使數列中的所有數都一樣,並求出在保證最少次數的前提下,最終得到的數列可能有多少種。第一行輸入正整數n。接下來n行,每行輸入乙個整數,第i 1行的整數代表ai。第...

差分 貪心 IncDec序列

原題 題目描述 給定乙個長度為 n 的數列 a1,a2,ana1,a2,an,每次可以選擇乙個區間 l,r l,r 使下標在這個區間內的數都加一或者都減一。求至少需要多少次操作才能使數列中的所有數都一樣,並求出在保證最少次數的前提下,最終得到的數列可能有多少種。輸入格式 第一行輸入正整數n。接下來n...