多校第七場小知識~
阿新 • • 發佈:2018-08-14
keyword 函數 .com ase jpg long 其他 多校 amp
還是不會做題,沒關系,那就先了解一些相關知識就好~
1010
.
矩陣快速冪+分塊
矩陣快速冪,因為|fn-1 fn-2|*矩陣A=|c*fn-2+d*fn-1|;
分塊,因為p/n隨著n而變化,所以需要按照變化點來分成不同塊,這樣復雜度才可以降到根號p;
分塊:設 x=p/i,若x=p/i,i=p/x=p/(p/i),即此時i為使得p/i值不變最大的那個i。。。所以按照i=p/(p/i)+1進行分塊即可;
快速冪:以求a的b次方來介紹,= 11的二進制為1101;最終復雜度為log?N;
模板:int
pow(
int
a,
int
b){
int
r=1,base=a;
while
(b){
if
(b&1) r*=base;
base*=base;
b>>=1;
}
return
r;
}
矩陣快速冪:https://blog.csdn.net/wust_zzwh/article/details/52058209簡直不要更好的博文~
根據遞推式構造矩陣,理解&註意代碼細節,其他的交給模板哈哈~
mod1e9+7: const long long mod=1e9+7;
每一次模,%mod即可;
1009 倍增,樹的分塊,寫樹
1005 歐拉函數,莫比烏斯反演。。。
多校第七場小知識~