矩陣快速冪(細胞自動機,LA 3704)

2021-07-25 04:56:45 字數 461 閱讀 8222

樸素的矩陣乘法o(n^3)會超時。

但是因為這個矩陣是迴圈矩陣,根據迴圈矩陣的性質:

迴圈矩陣*迴圈矩陣=迴圈矩陣

所以只用算出第一行,然後根據迴圈矩陣的性質就可以遞推出下一行,進而得到整個迴圈矩陣。

時間複雜度降為o(n^2)。

如果遇到一些模板題卻超時就要好好想一想這道題跟模板題到底**不一樣了,進而才能發現優化的方法。

很多東西都是靠想出來的。

**

#include#define f(i) for(ll i=0;imul(vectora,vectorb)

return ret;

}int main()

ji=mp(ji,k);

//puts("**********");f(i)puts("**********");

f(i)

}return 0;

}

細胞自動機(矩陣優化)

description 乙個細胞自動機包含n個格仔,每個格仔的取值為0 m 1。給定距離d,則每次操作後每個格仔的值將變為到它距離不超過d的所有格仔在操作之前的值之和除以m的餘數,其中i和j的距離為min。給定n,m,d,k和自動機各格仔的初始值,你的任務是計算k次操作以後各格仔的值。如下圖,n 5...

HDU 2243 AC自動機 矩陣快速冪

中文題,不解釋 這道題其實和poj 2778是一樣的,只是需要對矩陣有著更深刻的理解而已。我們很容易便能像poj 2778一樣求出來不包含條件字串的字串方案。只是題目中要求長度小於等於l,所以我們可以在矩陣中手動加乙個點,這個點允許從任何狀態轉移而來。這點的意義表示字串終止。也就是說如果字串轉移到這...

poj2778 ac自動機 矩陣快速冪

poj2778 求長度為m且不包含n個子串的種類數.參考自這個部落格.ac自動機 矩陣快速冪.這兒有個結論.給定乙個有向圖,問從a點恰好走k步 允許重複經過邊 到達b點的方案數mod p的值 把給定的圖轉為鄰接矩陣,即a i,j 1當且僅當存在一條邊i j。令c a a,那麼c i,j a i,k ...