數字分段 遞迴

2021-10-06 11:22:38 字數 584 閱讀 7344

description

給你n個正整數,把這些正整數分成一些段,順序不能亂,每段的數字和最大為k;請你輸出每段的開始下標和結束下標;前面的段和盡量小(也就是後面的和盡量大)

input

第一行輸入n和k,(1<=n,k<=1000);

第二行是這n個數a[i],(1<=a[i]<=100);

k大於任意a[i];

output

輸出每段的起點和終點的下標(從1開始);

sample input

6 20

1 6 5 10 15 20

sample output

1 23 4

5 56 6

#include

using

namespace std;

int a[

1005

],n,k;

intf

(int r,

int l)

} cout<<

1<<

" "

}int

main()

遞迴之數字黑洞

數學黑洞 time limit 1500 ms memory limit 65536 kib submit statistic discuss problem description 任意乙個4位自然數n n不能是4個數字一樣,如1111 2222 9999是不可以的,n也不能是6174 將組成自然...

分段dp(分段動態規劃)

基本分析 這題看似我們可以用區間dp的方式,將資料分左部分,右部分,然後用加號或乘號連線起來,但此時的問題就是每部分允許有多少乘號,這個又得列舉。所以這樣的方法可做,但複雜度要變成o n3 m2 那麼對於這類分區間時,又對區間內運算元量有限制的dp,我們可以用分段dp的方式,用dp i j 表示前i...

走進遞迴 湊數字題解

題目描述 有n個數字,a 1 a 2 a 3 a n 以及乙個數字m。問n個數字中取出一些數字,這些數字的和能否等於m。輸入多組測試資料,讀入到檔案尾結束。第一行輸入n,m。1 n 20,1 m 100 第二行輸入n個數字a 1 a 2 a 3 a n 1 a i 100 輸出如果可以,輸出yes,...