这次做到了cf上面的一道题目,解法很新颖,自己不会后面也给补了 现在来记录一下
矩阵快速幂的话就保留和我当前项有关的前几项就好了 是变量的也需要保留下来 然后自己退出矩阵的式子为什么
Let f x =c 2x−6 ⋅f x−1 ⋅f x−2 ⋅f x−3 fx=c2x−6⋅fx−1⋅fx−2⋅fx−3 for x≥4 x≥4 .
You have given integers n n , f 1 f1 , f 2 f2 , f 3 f3 , and c c . Find f n mod(10 9 +7) fnmod(109+7) .
Input
The only line contains five integers n n , f 1 f1 , f 2 f2 , f 3 f3 , and c c (4≤n≤10 18 4≤n≤1018 , 1≤f 1 1≤f1 , f 2 f2 , f 3 f3 , c≤10 9 c≤109 ).
给如上面的式子 让你求第n项 其实我们一开始发现这个式子不是像之前的那种直接就是矩阵快速幂的板子题目 这个是连乘的 那么这个该怎么解决呢
我们可以利用矩阵快速幂求出f1 , f2 ,f3 的幂次 还要 c 的幂次 然后利用寻常快速幂就可以直接求解这个问题了 这里求幂次就是把乘法完美的化解乘加法 然后矩阵快速幂求解幂次 每次和前三项有关 我们每次保留三项就好了
这f[n] = {fn,fn - 1,fn&n