題意: 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的約數...