觀察這個數列:
1 3 0 2 -1 1 -2 …
這個數列中後一項總是比前一項增加2或者減少3,且每一項都為整數。
棟棟對這種數列很好奇,他想知道長度為 n和為 s 而且後一項總是比前一項增加 a 或者減少 b的整數數列可能有多少種呢?
輸入格式
共一行,包含四個整數 n,s,a,b,含義如前面所述。
輸出格式
共一行,包含乙個整數,表示滿足條件的方案數。
由於這個數很大,請輸出方案數除以 100000007的餘數。
資料範圍
1≤n≤1000,−109≤s≤109,1≤a,b≤106
輸入樣例:
4 10 2 3
輸出樣例:
2樣例解釋
兩個滿足條件的數列分別是2 4 1 3和7 4 1 -2。
這是乙個組合問題,但是容易被誤解成序列問題。
ac**:
#include
const
int mod=
100000007
;int n,s,a,b;
int f[
1010][
1010];
intget_mod
(int a,
int b)
//求a%b正餘數,防止訪問負數下標
intmain()
歷屆試題 波動數列 (動態規劃)
問題描述 觀察這個數列 1 3 0 2 1 1 2 這個數列中後一項總是比前一項增加2或者減少3。棟棟對這種數列很好奇,他想知道長度為 n 和為 s 而且後一項總是比前一項增加a或者減少b的整數數列可能有多少種呢?輸入格式 輸入的第一行包含四個整數 n s a b,含義如前面說述。輸出格式 輸出一行...
動態規劃 Fibonacci數列
概要 斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波那契數列以如下被以遞推的方法定義 f...
波動數列 藍橋杯
這是2014年第五屆藍橋杯全國軟體大賽預賽本科a組 c c 組 第10題,也就是最後一題。思路可以想得到,列舉和廣度優先搜尋,由於最後時間緊迫,簡單的計數還沒完成,謹以此文祭奠逝去的藍橋杯。剛看這題,似乎摸不著頭腦,細細欣賞,似乎還可以實現。由於資料量可能很大,這裡使用了long long型別。輸入...