矩陣快速冪的最簡單用法

2021-09-29 21:40:19 字數 851 閱讀 7124

題目描述

這個勇者明明超強卻過分慎重,勇者龍宮院聖哉與n名冒險者一起去討伐神秘魔物,龍宮院聖哉十分謹慎,他只會在最後一刻出手,

每名冒險者輪流攻擊魔物,冒險者的攻擊有著某種規律,目前造成的總傷害是上一名冒險者攻擊後造成的總傷害的4倍與上上名冒

險者攻擊後造成的總傷害的3倍之和,即當前總傷害f(n)=4f(n-1)+3f(n-2)(魔物的奇怪設定使總傷害忽高忽低),又由於異世界的奇異設定,冒險者們的總傷害

不會超過666666,即對666666取模,龍宮院聖哉清楚的知道這個魔物的血量為m(m>666666),他想知道在所有的冒險者攻

擊完了以後,自己需要造成多少點傷害才能殺死魔物?目前第一名冒險者攻擊後總共造成了4點傷害,第二名冒險者攻擊後總共造

成了233點傷害。

輸入描述:

輸入一行n,m,處理到檔案結束

6666663 666667

輸出

665723

顯然只是一道遞推或者遞迴的題目。

遞迴**如下

#include#define mood 666666

using namespace std;

long long what(int n)

int main()

;unit what(unit a,unit b) //用於矩陣相乘

cout<這就是矩陣快速冪,在快速冪的基礎上用乙個矩陣來構造

最主要的就是構造用於快速冪的矩陣,

當然,我這裡舉的例子比較簡單構造。

簡單計數(矩陣快速冪)

題源來自牛客 題意 題意未改動,題面已改動 有乙個長度為k的佇列滿足以下條件 第乙個元素不能為1,最末乙個元素必須為1 任意兩個相鄰元素都不相同 這個數列中的所有數必須小於等於n 問 滿足條件的組合數 題解 設f 0 i 表示從第乙個元素到第i個元素,前i 1個元素滿足條件,而第i個元素非1的組合數...

mysql的簡單用法 mysql簡單用法

刪除使用者 drop user jack drop比delete刪除的優勢在於drop可以刪除使用者的許可權,更加徹底 更改使用者名稱 rename user jack to jacknew 使用者的都存在與user表中,更改名稱,許可權不變 更改使用者密碼 update mysql.user se...

矩陣的快速冪

問題 求m m矩陣的等比前n項和,即a a2 a3 a n struct node x,y 分析 矩陣乘法中關於等比矩陣的求法 a e 0 e e為單位矩陣。由等比矩陣的性質 n a e a n 1 a 1 a 2 a n 1 0 e 0 e 所以我們在求此類問題時 1.矩陣a擴大4倍 a e 0 ...