hdu1757矩陣快速冪

2022-08-17 23:33:12 字數 1102 閱讀 8826

這題不錯,開始看題目,以為是道水題,花幾分鐘打了個暴搜,果斷runtime error,棧溢位。於是馬上找規律,發現可以轉換成矩陣乘法和快速冪解決,不過由於審題不清,搞錯了a0...a9的順序,調了老半天才發現。。。。

/*

* hdu1757/win.cpp

* created on: 2012-7-9

* author : ben */

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

const

int max_order = 11

;int

mod;

typedef

inttypec;

typedef

struct

mymatrix

void

init() }}

}mymatrix;

mymatrix

operator*(mymatrix ma, mymatrix mb)

} }

return

numc;

}mymatrix mpow(mymatrix ma,

intx)

for (; x; x >>= 1

) ma = ma *ma;

}return

numc;

}int

main()

while(scanf("

%d%d

", &k, &mod) == 2

) mymatrix ret = mpow(matrix, k - 9

);

int ans = 0

;

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

printf(

"%d\n

", ans);

}return0;

}

矩陣快速冪 HDU1757

題目連線 給出k,m,求f k m,其中 x 10時,f x x x 10時,f x a0 f x 1 a1 f x 2 a2 f x 3 a9 f x 10 ai 0 i 9 會給出且只能為0或1 帶入公式易推導得 k 10時,f k f 9 b0 f 8 b1 f 7 b2 f 6 b3 f 5...

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...

快速矩陣冪HDU2276

題意 有n盞燈,編號為1到n。0表示不亮,1表示亮,如果 i th的燈的左邊燈是亮的,那麼下一秒鐘,i th燈的狀態要改變,0變成1,1變成0。第1個燈的 左邊是第n個燈 輸入t,輸入開始的狀態 問你在第t秒時,燈的狀態時什麼樣的,輸出來。分析 可推出下一秒的狀態a i a i 1 n n a i ...