廣工十四屆校賽 count 矩陣快速冪

2022-03-11 14:12:16 字數 825 閱讀 4249

題意:求

,直接矩陣快速冪得f(n)即可

構造矩陣如下:

n^3是肯定得變換的,用二項式展開來一點點配吧

我們會發現中間6*6的矩陣是個常數矩陣,則可以化為a=b^(n-2)*c(n-2次冪是因為我們求解是從n=3開始的),根據矩陣快速冪算出b^(n-2)次冪即可以了

矩陣快速冪的時間複雜度是logn

注意:我們中間構造的矩陣必須是乙個方陣,矩陣快速冪的難點就在於構建中間的方陣

比如矩陣a,b,c,b是係數矩陣的話,a裡的n要比c裡的大1,並不是直接表示出來就可以了,左右兩邊的矩陣如果右邊是x(n-1),左邊就是xn

方陣構建技巧可以看這篇博文:

**如下:

#include

using

namespace

std;

typedef

long

long

ll;const

int mod=123456789;

struct

matrix

ll* operator(int x)

friend matrix

operator*(matrix a,matrix b)

return

c; }

};matrix qpow(matrix a,ll m)

//方陣a的m次冪

return

ans;}

intmain()

}

UESTC第十四屆校賽A題解題報告

太弱,什麼都不會 qrz 給你乙個n,然後你要用乙個序列構成0到n的所有數 構成方法就是從序列中選若干個數加起來 問你有多少種這樣的序列,和是相同的序列 首先,看下n範圍5000,複雜度肯定是n 2打表。然後賽上各種推不出狀態。其實,肯定有一維狀態要表示整個序列的和,那麼就是dp i i為整個序列的...

幾何 迴旋星空 廣工校賽

雖然是幾何題,但是集合的部分很少 題 意 在n個點中,有多少組三個點滿足dis a,b dis b,c 思 路 如果暴力列舉三個點,顯然會超時。這時候,從題目條件出發。題目只要求兩邊相等的角的個數,那麼考慮每個點作為角的頂點時,其他點與這個點的距離。所有相等的邊中任取兩條,c n,2 include...

廣工校賽 LCS 完美串

愛美之心人皆有之,gg也不例外。所以gg他對於完美串有一種熱衷的愛。在gg眼中完美串是乙個具有無比魅力的01子串。這個子串有之其魅力之處,對它取反後水平翻轉,它又和它原來的一模一樣。這就是gg熱愛它的原因。但是世上並不是所有的01串都是完美串,所以gg下定決心想改造01串,使所有的01串都成為完美串...