题意,给定一个序列,定义f(a)表示斐波那契数列的第a项,
序列涉及两种操作,一是区间每个数加x
二是对于询问[l,r],输出 Σf(a[i]) (l<=i<=r)
,对1e9+7取模。
看到斐波那契数列容易联想到其矩阵形式:
[ f ( 3 ) ( f 2 ) ] = [ f ( 2 ) f ( 1 ) ] ∗ [ 1 1 1 0 ] \begin{bmatrix}f(3)&(f2)\end{bmatrix} =\begin{bmatrix}f(2)&f(1)\end{bmatrix} *\begin{bmatrix}1&1\\1&0\end{bmatrix} [f(3)(f2)]=[f(2)f(1)]∗[1110]
我们令F(1)= [ f ( 1 ) f ( 0 ) ] \begin{bmatrix}f(1)&f(0)\end{bmatrix} [f(1)f(0)] = [ 1 0 ] =\begin{bmatrix}1&0\end{bmatrix} =[1<