HDU4471 Homework(矩陣快速冪)

2022-03-20 04:57:56 字數 707 閱讀 2449

vjudge

給定乙個數列的前\(m\)項,給定乙個和前\(t\)項相關的遞推式。

有\(q\)個位置的遞推式單獨給出,求數列第\(n\)項。

大部分的轉移還是相同的,所以可以提前構建好矩陣,預處理轉移矩陣的\(2^n\),

這樣子可以在\(o(t^2logn)\)時間裡面進行矩陣快速冪。

對於特殊點排序,特殊點的數值直接爆算,總的複雜度還是正確的。

#include#include#include#include#include#includeusing namespace std;

#define ll long long

#define mod 1000000007

#define max 105

inline int read()

struct matrix

void clear()

void init()

}a[35],f;

int n,m,q,t,c[max],f[max];

int n,t,c[max],mt;

matrix operator*(matrix a,matrix b)

void pre()

fpow(n-now);printf("case %d: %d\n",++tt,f[1][1]);

} return 0;

}

矩陣構造 矩陣快速冪 HDU5950

題目 題意 給出公式f n f n 1 f n 2 2 n 4 給出n f 1 f 2 求f n 分析 快速冪 把公式分解一下,求一下矩陣,矩陣快速冪搞一下就好 題目的難點在於矩陣的構造題解 典型的矩陣快速冪的運用。關鍵是i 4怎麼維護?我們可以當成求第i 1項,那麼i 4就變成了 i 1 4。那麼...

HDU5015 233 Matrix 矩陣快速冪

題目鏈結 題意 給定乙個矩陣的第0列的第1到n個數,第一行第1個數開始每個數分別為233,2333.求第n行的第m個數。思路 將第一行的數全部右移一位,用前一列遞推出下一列,構造矩陣,類似如下 1 0 0 0 0 0 0 1 10 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 ...

hdu 4965 矩陣快速冪

給定兩個矩陣a,b,分別為n k和k n 求出矩陣c a b,矩陣m c n n 將矩陣m中的所有元素取模6,得到新矩陣m 並計算矩陣m 中所有元素的和 注意到ba 得到 6 6,而ab 得到1000 1000 轉化乘法算式為 m abababab.a ba n n 1 b 直接用矩陣快速冪即可 i...