矩陣快速冪最主要的是核心矩陣的構建,這題不是構建和每項有關的矩陣,而是構建和前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 ...