POJ 3233 矩陣快速冪 二分

2022-04-30 14:12:12 字數 651 閱讀 2164

題意:

給你乙個n*n的矩陣 讓你求s:

思路:

只知道矩陣快速冪 然後nlogn遞推是會tle的。

所以呢 要把那個n換成log

那這個怎麼搞呢

二分!

當k為偶數時:

當k為奇數時:

就按照這麼搞就能搞出來了

(我是看的題解才a的,,, 中間亂搞的時候犯了一些腦殘的錯誤)

// by siriusren

#include #include using namespace std;

int n,mod,k;

struct matrix}first;

matrix mul(matrix a,matrix b)

matrix add(matrix a,matrix b)

matrix

pow(matrix a,int x)

return temp;

}matrix recursive(int x)

else

}int main()

matrix jy=recursive(k);

for(int i=1;i<=n;i++)

}

poj3233經典二分矩陣快速冪

這個有個難點,就是他那個是到10的9次方,所以就是說,應該不能乙個乙個加,看了別人的方法就是用二分的方法,思路 這是一道典型的矩陣快速冪的問題。用到兩次二分,相當經典。矩陣快速冪。首先我們知道 a x 可以用矩陣快速冪求出來。其次可以對k進行二分,每次將規模減半,分k為奇偶兩種情況,如當k 10和k...

poj 3233 矩陣快速冪

十個利用矩陣乘法解決的經典題目的最後一題 1a終於刷完十道題了,基本都是乙個思路 二分優化!a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 用二分變成 a 1 a 2 a 3 a 4 a 4 a 1 a 2 a 3 a 4 a 1 a 2 a 3 a 4 a 5 a 6 a 7 a ...

poj3233(矩陣快速冪)

poj3233 給定n k,m 然後是n n行,我們先可以把式子轉化為遞推的,然後就可以用矩陣來加速計算了。矩陣是加速遞推計算的乙個好工具 我們可以看到,矩陣的每個元素都是乙個矩陣,其實這計算乙個分塊矩陣,我們可以把分塊矩陣展開,它的乘法和普通矩陣的乘法是一樣的。1 include 2 includ...