Re.线性递推
前言
嗯 我之前的不知道多少天看这个的时候到底在干什么呢
为什么那么。。 可能大佬们太强的缘故
最后仔细想想思路那么的emmm
不说了 要落泪了
唔唔唔
前置
线性递推目的
求一个满足k阶齐次线性递推数列ai的第n项
即:
给出f1--fk,a0--ak-1求an
N=1e9,K=32000
线性递推主要思路
emmm矩阵快速幂怎么样都应该会的
设转移矩阵为A,st=[a0,a1...ak-2,ak-1]为初始矩阵
显然an=(st*An)0
O(k3logn)和O(k2logklogn)的矩阵快速幂在此范围下显然太暴力了
发现k过大时时间复杂度主要花在矩阵乘法上
考虑如何不用矩阵通过多项式来计算答案
先考虑如何把An转化为A1--Ak组合出来的和
设An=c1A1+c2A2...+ck-1Ak-1+ckAk
代码