牛客#廣義肥波# 數論,尤拉降冪
阿新 • • 發佈:2021-01-03
技術標籤:數論
題目連結:https://ac.nowcoder.com/acm/contest/10507/A
題意:給定a,b,m,n求m^f[n].其中f[1]=f[2]=1,f[n]=a*f[n-1]+b*f[n-2](n>=3)。
題解:
【小知識】尤拉降冪:求解a^k%mod
1.當k很大的時候,我們可以使用尤拉降冪快速求解以上式子。
2.公式:
其中fai(c)表示c的尤拉函式
3.尤拉函式:fai(c)即表示小於等於c的與c互質的數的個數。
4.尤拉函式的一些性質
·如果c為質數,那麼fai(c)=c-1(即除c之外,全都互質)。
·為積性函式,即gcd(a,b)=1,則fai(a)*fai(b)=fai(a*b)。fai(2*b)=fai(2)*fai(b)
·另外還有挺多性質
程式碼:
read(a),read(b),read(m),read(n);
x[1]=x[2]=1;
rep(i,3,n) x[i]=(a*x[i-1]+b*x[i-2])%(mod-1);
// dbgg(1,n,x);
ll ans=qpow(m,x[n],mod);
cout<<ans<<endl;