哈工大的2255題解(矩陣快速冪)

2021-08-03 04:09:49 字數 854 閱讀 4328

矩陣快速冪最主要的是核心矩陣的構建,這題不是構建和每項有關的矩陣,而是構建和前n項和有關的矩陣利用an=sn-sn-1,記住構造的式子裡未知數只能有sn,sn-1之類的

#include

#include

#include

#define mod 10000000

struct juzheng;

int ju[3];

juzheng mul(juzheng ch, juzheng th)

ans.a[i][j]%=mod;}}

return ans;

}int pow(juzheng ch, int n)

}while(n)

ch=mul(ch,ch);

n/=2;

}long long zhi=0;

for(i=0;i<3;i++)

return zhi;

}int main()

}ju[0]=a;

ju[1]=a+b;

ju[2]=a+b+p*b+q*a;

ch.a[0][0]=p+1;

ch.a[0][1]=q-p;

ch.a[0][2]=-1*q;

ch.a[1][0]=1;

ch.a[2][1]=1;

long long ss=0,ee=0;

if(s<=3&&s>0)

else if(s)

if(e<=2)

else

ee=(ee+mod)%mod;

ss=(ss+mod)%mod;

printf("%d\n",(ee-ss+mod)%mod);

}return 0;

}

矩陣的快速冪

問題 求m m矩陣的等比前n項和,即a a2 a3 a n struct node x,y 分析 矩陣乘法中關於等比矩陣的求法 a e 0 e e為單位矩陣。由等比矩陣的性質 n a e a n 1 a 1 a 2 a n 1 0 e 0 e 所以我們在求此類問題時 1.矩陣a擴大4倍 a e 0 ...

矩陣快速冪的構造

參考部落格 a i a i 1 b i 1 1,b i 2 a i 1 5 a 1 1,b 1 1,問a x b x 很簡單的遞推,一步步推即可,但是,如果x是10 9,如何推?思維 遞推式可以化為矩陣乘積 那麼,矩陣a i a i 1 b a i 1 a i b a i 1 bb a x a 1 ...

模板 矩陣的快速冪

原理 left end right left 1 1 1 0 end right left begin 1 end right 記這個矩陣為a,則有 left end right left begin end right 注意這種初始化方式,matrix為只有乙個二維陣列的結構體 1 struct ...