貪心 數列分段

2021-08-21 17:33:48 字數 728 閱讀 9693

時間限制: 1 sec  記憶體限制: 128 mb

提交: 7  解決: 5

[提交][狀態][討論版][命題人:add_zmx]

對於給定的乙個長度為n的正整數數列a[i],現要將其分成連續的若干段,並且每段和不超過m(可以等於m),問最少能將其分成多少段使得滿足要求。

輸入檔案的第1行包含兩個正整數n,m,表示了數列a[i]的長度與每段和的最大值,第2行包含n個空格隔開的非負整數a[i],如題目所述。

輸出檔案僅包含乙個正整數,輸出最少劃分的段數。

5 6

4 2 4 5 1

3

對於20%的資料,有n≤10;

對於40%的資料,有n≤1000;

對於100%的資料,有n≤100000,m≤10^9,m大於所有數的最大值,a[i]之和不超過10^9。

從前往後看,在每段不超過m的情況下盡量使每段的和接近m

#include#include#include#include#includeusing namespace std;

int n,m,a[100005],ans=0,sum;

int main()

else if(i==n-1)ans++;//如果加到最後乙個數和仍然}

cout

}

貪心 數列分段II

時間限制 1 sec 記憶體限制 128 mb 題目描述 對於給定的乙個長度為n的正整數數列ai,現要將其分成連續的若干段,並且每段和不超過m 可以等於m 問最少能將其分成多少段使得滿足要求。輸入第一行包含兩個正整數n,m,表示了數列ai的長度與每段和的最大值 第二行包含n個空格隔開的非負整數ai。...

貪心 數列極差

時間限制 1 sec 記憶體限制 128 mb 提交 9 解決 5 提交 狀態 討論版 命題人 add zmx 在黑板上寫了n個正整數組成的乙個數列,進行如下操作 每次擦去其中的兩個數a和b,然後在數列中加入乙個數a b 1,如此下去直至黑板上剩下乙個數,在所有按這種操作方式最後得到的數中,最大的為...

貪心 數列極差問題

題目描述 我就說你在忽悠我吧,我剛才問了昆士蘭大學的好多魔法師,他們根本就沒有乙個人想過做什麼時間旅行的實驗,但搞笑的是,他們居然對你的理論很感興趣,想找個時間和你做進一步的討論。哎,我還以為他們和我一樣聰明呢,想不到這麼容易上當受騙。小墨老師擺出一幅你騙不了我的表情。唉,你太自以為是了,這樣吧,你...