B M BM BM 算法
用处
它可以用来求常系数线性递推的系数,并且可以求出最短的
求出来有什么用呢?
你可以闷声Cayley-Hamilton定理优化递推矩阵快速幂
算法简介
首先设一个数列 f f f,我们想要试出其中满足
f n = ∑ i = 1 m a i f n − i ( n > m ) f_n=\sum_{i=1}^{m}a_if_{n-i}(n>m) fn=∑i=1maifn−i(n>m)
的最小的 m m m 以及对应的系数 a a a
考虑增量法构造
- 首先因为要求 n > m n>m n>m,所以 m = n m=n m=n 且 a a a 都为 0 0 0 显然是满足条件的,所以初始可以就是全 0 0 0
- 假设有一个长度为 m m m 的 a a a 在 f 1... n − 1 f_{1...n-1} f1...n−1 都满足条件,并且 f n f_n fn 不满足了
设 d e l t a n =