思路:
首先 先普及乙個性質: 迴圈矩陣*迴圈矩陣=迴圈矩陣
由於此題是距離小於d的都加上乙個數。
那麼 構造矩陣的時候 我們發現 誒呦 這是個迴圈矩陣
看看資料範圍 n^2log(k)可以過。
那就把這個矩陣改一改。
因為這是個迴圈矩陣, 所以呢 只用儲存一行就可以了。
每回做乘法的時候只做第一行的乘法。
for(i) for(j) temp[i]+=a[j]*b[(i+j)%n];
就這麼著 搞搞就能過了。
(好像可以用fft? 表示並不會)
code length能進前三的存在哈哈哈
POJ 3150 矩陣快速冪
抄的 看不出矩陣快速冪,2b。注意到這是種變換,每次都是n個元素在變來變去,資料範圍很大,這應該反應到時矩陣 根據大神指示,用o n 複雜度儲存空間,由於 a i j a i 1 j 1 o log k n 2 據說可以用傅利葉變換,更快,沒試 include include include inc...
pku 3150 修改後的矩陣乘法
起初直接有矩陣乘法做,結果tle。後來參考網上 發現他們巧妙利用轉移矩陣的性質。從而降低複雜度。轉移矩陣的下一列是前一列的下移而來。因次計算出第一列,其餘的就可推出。code include include int n,m,k,d int64 ans 510 int64 e 501 int mult...
POJ3233不錯的矩陣 矩陣套矩陣
題意 給乙個n n的矩陣a,然後求s a a 2 a 3 a k.思路 矩陣快速冪,這個題目挺新穎的,以往的矩陣快速冪都是退出公式,然後構造矩陣,這個比較特別,直接上子矩陣吧 a 1 平方後得到 a 2 1 a 三次方 a 3 1 a a 2 0 1 0 1 0 1 這樣就行了,還有注意這個是矩陣套...