矩陣快速冪處理一類線性遞推組問題
阿新 • • 發佈:2018-12-10
最近兩場比賽,都涉及到此類問題!以前沒注意過這種問題,都在狀態轉移方程推出後,止步於n太大!事後總結,線性遞推可以用矩陣來表示,進而快速冪解決n太大的問題!
題意:n×m矩陣填黑白兩色,行相同相鄰兩個不能同為白色,相鄰兩列不全為黑色 (n≤5,m≤1e18),問填色的方案數mod 1e9+7的值.
令黑色為1,白色為0,即每一列的長度最長為5,即狀態數最多為32(2的5次方),即An-1An-2……A0(Ai為1表示該列第i+1格子為黑色,0即為白色)
相鄰兩列不全為黑色,對應於兩列狀態不都為111……1,相鄰兩列的同行格不都為白色,即對應於相同數位不都為0,簡單的dp狀態轉移方程,只是狀態轉移方程比較多。
舉個例子: n=2時,每列有4種狀態,列舉第m列的狀態