TJU 3848 Game(矩陣乘法快速冪)

2021-07-03 19:46:39 字數 640 閱讀 4386

一看是遞推的關係,明顯是矩陣乘法快速冪了。

這裡舉個例子,假設有3個選手,有n場比賽,得分記為si

如果有以下關係:

s1=s1+2s3;

s2=s2+1s1+1s3;

s3=s3+5s2;

則可以用以下的矩陣乘法表示

1   1   0                                   

(s1  s2  s3)=(s1  s2  s3)×(0   1   5)^n

2    1   1

**寫的難看,如果錯誤,還請指正:

#include #include #include using namespace std;

int nn; //實際矩陣邊長

const int n=50; //乘矩陣邊長最大值

long long m; //要模的數

struct matrix

};matrix matrix_mul(matrix a,matrix b)

return ans;

}void work()

printf("%lld\n",ans);

}int main()

快速冪,矩陣乘法,矩陣快速冪

快速冪利用二進位制 複雜度 log級 include include include include using namespace std typedef long long ll typedef unsigned long long ull int q power int a,int b,int...

Tr A(矩陣乘法快速冪)

problem description a為乙個方陣,則tr a表示a的跡 就是主對角線上各項的和 現要求tr a k 9973。input 資料的第一行是乙個t,表示有t組資料。每組資料的第一行有n 2 n 10 和k 2 k 10 9 兩個資料。接下來有n行,每行有n個資料,每個資料的範圍是 0...

dp 矩陣乘法快速冪

1 p1926 斐波那契 include include include using namespace std long long n const int mod 1000000007 long long nw 2 2 ans 2 2 long long t 2 2 void mul1 void ...