這題真的是水題啊。不過他的提示略微具有迷惑性。
它把4 2 4 5 1分成三段[4][2 4][5 1],但是按我的做法,他應該這麼分:[4 2][4][5 2]
這麼看做法就很明顯了,從頭向後掃瞄,當前面的數的和超過了m就把當前的和變成0,讓段數加一。
廢話不多說,上**。
#includeusingnamespace
std;
intn,m;
int a[100010
];int ans=1
;//這裡是1,因為就算不去分,也有1段
intmain()
}printf("%d
",ans);
return0;
}
洛谷P1181 數列分段
題目描述 對於給定的乙個長度為n的正整數數列a i 現要將其分成連續的若干段,並且每段和不超過m 可以等於m 問最少能將其分成多少段使得滿足要求。輸入輸出格式 輸入格式 輸入檔案divide a.in的第1行包含兩個正整數n,m,表示了數列a i 的長度與每段和的最大值,第2行包含n個空格隔開的非負...
洛谷 P1181 數列分段Section I
題目描述 對於給定的乙個長度為n的正整數數列a i 現要將其分成連續的若干段,並且每段和不超過m 可以等於m 問最少能將其分成多少段使得滿足要求。輸入輸出格式 輸入格式 輸入檔案divide a.in的第1行包含兩個正整數n,m,表示了數列a i 的長度與每段和的最大值,第2行包含n個空格隔開的非負...
洛谷 P1181 數列分段Section I
題目描述 對於給定的乙個長度為n的正整數數列a i 現要將其分成連續的若干段,並且每段和不超過m 可以等於m 問最少能將其分成多少段使得滿足要求。輸入輸出格式 輸入格式 輸入檔案divide a.in的第1行包含兩個正整數n,m,表示了數列a i 的長度與每段和的最大值,第2行包含n個空格隔開的非負...