HDU 5895 尤拉定理 快速冪 公式

2022-08-19 20:39:08 字數 868 閱讀 9264

題意: f[ x ]=f[ x-1 ] * 2 + f[ x-2 ]   g[ x ]=∑f[ i ]  

問 x^g[ n*y ] % (s+1)

思路:之前bc有過類似的題目,這個題目看完了很後悔。。本來是應該可以a掉的。。

思路就是利用尤拉定理來讓g變小先。。然後快速冪搞一下。。。

類似斐波那契數列一樣。。打表試一試就發現 g[ n ] = f[n]*f[n+1]/2  (證明和斐波那契那個證明方法差不多,兩遍同時×f[ n-1 ]),移項累加就好。

所以就很愉快了,但是注意!!!

這裡明顯除以2是要求一下逆元的!但是逆元顯然不一定存在,所以利用求任意逆元的方法,a/b  mod c = a  mod(b*c)/b

( 最後時間緊張加上基礎不牢靠並沒有想起來。。十分遺憾 。。。)

**:#include #include #include #include #include using namespace std;

typedef vector> mat;

long long m ;

long long m2 ;

mat mul(const mat &a,const mat &b)

return c;

}mat pow(mat a, long long n)

while(n>0)

return b;

}long long qpow(long long a,long long n)

return ans;

}long long e(long long n) }}

if (n > 1)

return ans;

}int main()

m2=s+1;

cout<

尤拉降冪快速冪用

必須a和p互質才能尤拉。第乙個要求a和p互質,第二個和第三個是廣義尤拉降冪,不要求a和p互質,但要求b和的大小關係。1.先上乙個普通的取模的快速冪 ll pow ll a,ll b,ll mod return r 2.再來乙個尤拉函式的板子 這裡運用了乙個公式是 ax a x m m mod m l...

冪塔的個位數計算(拓展尤拉定理)

尤拉定理 若n,a為正整數,且n,a互質,則 乙個小推論若正整數a與m 互質,則 拓展尤拉定理 同時若 本式子恆成立 至此,便有了尤拉降冪的模板題 冪塔的個位數計算 include include include include define mode a,b a 尤拉降冪的精髓之處 using n...

HDU6069 尤拉篩法 約數定理 計算技巧。

鏈結 首先先引入乙個數論概念,約數定理。約數定理 首先同上,n可以分解質因數 n p1a1 p2a2 p3a3 pkak,由約數定義可知p1a1的約數有 p10,p1 1,p12 p1a1 共 a1 1 個 同理p2a2的約數有 a2 1 個 pkak的約數有 ak 1 個。故根據乘法原理 n的約數...