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,...