求解遞推數列的成套方法

2022-05-06 19:51:19 字數 1447 閱讀 4815

設它的遞推式為

\[r_0 = \alpha

\]\[r_n = r_+\delta n^2 + \gamma n + \beta

\]已知 \(\alpha = \beta = \gamma = 0, \delta = 1\) 時,\(r_n=\sum_^n i^2\)

因為遞推式只與引數 \(\alpha, \beta, \gamma, \delta\) 相關,可以得出

\[r_n = a(n) \alpha + b(n) \beta + c(n) \gamma + d(n) \delta

\]那麼任意符合上面這個遞推式的都可以用這個一般形式得出,強調一下,無論 \(\alpha,\beta,\gamma,\delta\) 取什麼,\(a(n),b(n),c(n),d(n)\) 都是不變的

這啟發我們用一些簡單的函式來求解 \(a(n), b(n), c(n), d(n)\)

\[f_0 = 1 \to \alpha = 1

\]\[1 = 1 + \delta n^2 + \gamma n + \beta \to \delta = \gamma = \beta = 0

\]得出乙個關係式

\[1 = a(n)

\]\[f_0 = 0 \to \alpha = 0

\]\[n = n - 1 + \delta n^2 + \gamma n + \beta \to \delta = \gamma = 0, \beta = 1

\]又乙個關係式

\[n = b(n)

\]\[f_0 = 0 \to \alpha = 0

\]\[n^2=(n-1)^2 + \gamma n + \beta + \delta n^2 \to \delta = 0, \beta = -1, \gamma = 2

\]\[n^2 = -b(x) + 2c(n)

\]跟上面的式子聯立,可以解出 \(c(n) = \frac 2\)

\[f_0 = 0 \to \alpha = 0

\]\[n^3=(n-1)^3 + \gamma n + \beta + \delta n^2 \to \delta = 3, \beta = 1, \gamma = -3

\]可以解出

\[d(n) = n(n + \frac 1 2) (n + 1)

\]這個式子是不是有些眼熟,對,它就是平方和公式,只要把 \(\delta\) 設為 1,就可以發現 \(d(n) = \sum_ ^ n i^2\),一開始設它的目的也是這個

從上面的例子可以看出,對已乙個遞推公式來說,最終的封閉形式只與項數 \(n\),和其中的變數有關

因此我們可以設出封閉形式,並帶入簡單函式進行求解

需要注意的是,設出的函式必須可解,當帶入乙個簡單函式無法通過 \(\delta,\beta...\) 來得到遞推式時,要麼考慮換乙個函式,要麼增加乙個變數

這就需要通過做題來增加數學經驗了

遞推求解的基本方法hdu2044 2047

純遞推hdu2044乙隻小蜜蜂 int main return 0 hdu2045不容易系列之 3 lele的rpg難題 int main for i 4 i 50 i f i f i 1 2 f i 2 如果前i 1個色塊是合法的那最後一塊的顏色唯一有f i 1 種可能 如果前f i 1 不合法但...

演算法(Java隨筆) 遞推 遞迴求解斐波拉契數列

演算法的執行過程 根據已知結果和關係,求解中間結果。判定是否達到要求,未達到則繼續重複第一步,直到尋找到正確答案。編寫遞迴方法時,必須使用if語句強制方法在未執行遞迴呼叫之前返回,如果不這樣做,它將永遠不會返回 這很重要 從理論上說,所有的遞迴函式都可以轉換為迴圈函式,然而代價通常都是比較高的。但遞...

求解分治演算法的遞推關係

相關概念 分治遞推關係 如果f n f n 表示求解規模為nn的問題所需的雲算數,則ff滿足遞推關係 f n af n b g n f n af n b g n 相關定理 定理1 設ff是滿足遞推關係 f n af n b c f n af n b c 的增函式,其中nn被bb整除,b 1,bb 1...