我发现了一个问题,你会得到这种类型的序列:
你有
the first K terms : a1, a2, ... , ak;
K coefficients : b1, b2, ... , bk
并且再次发生:
S(i) = b1*S(i-K) + b2*S(i-K+1) + ... + bk*S(i-1).
我必须找出第N个术语。
我相信这个问题可以通过快速矩阵求幂来解决,但我很难发现我必须使用的矩阵。我试图用C ++编写问题。任何人都可以给我一些关于如何处理这类问题的提示吗?
答案 0 :(得分:1)
作为无耻的自我推销,我编码a program to solve linear recurrences using matrix multiplication。文件顶部的注释描述了您想要形成的矩阵,以及如何使用重复的平方算法来有效地计算重现的第n个项。
希望这有帮助!