题目链接
做法
$ \frac{b + \sqrt{d}}{2} $ 和 $ \frac{b - \sqrt{d}}{2} $ 是二元一次方程 $ x^2 - bx + \frac{b^2 - d}{4} = 0 $ 的解。
则 $ x^2 = bx + \frac{d - b^2}{4} $ 。
两边同时乘 $ x^{n - 2} $ 得: $ x^n = bx^{n - 1} + \frac{d - b^2}{4}x^{n - 2} $ 。
设 $ f[i] = (\frac{b + \sqrt{d}}{2})^{i} + (\frac{b - \sqrt{d}}{2})^{i} $ ,则存在递推式 $ f[i] = bf[i - 1] + \frac{d - b^2}{4}f[i - 2] $ 。其中 $ f[0] = 2, f[1] = b $ 。
这样就矩阵乘法得到 $ f[n] $ 。题目中有 $ b^2 \leq d < (b + 1)^2 $ ,所以 $ \frac{b - \sqrt{d}}{2} \leq 0 $ 。特判 $ b^2 \neq d $ 且 $ n \mod 2 = 0 $ 来判断是否减一。
1 |
|