2014 Super Training #7 F Power of Fibonacci --数学+逆元+快速幂
2014-07-10 20:46
316 查看
原题:ZOJ 3774 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3774
----------------------------------------------------------------------------------------------------------------------
这题比较复杂,看这篇比较详细:/article/2368247.html
结论就是计算:
View Code
----------------------------------------------------------------------------------------------------------------------
这题比较复杂,看这篇比较详细:/article/2368247.html
结论就是计算:
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <cstdlib> #include <algorithm> #define Mod 1000000009 #define ll long long using namespace std; #define N 100007 ll fac ,A ,B ; void init() { int i; fac[0] = 1; for(i=1;i<N;i++) fac[i] = fac[i-1]*i%Mod; A[0] = B[0] = 1; for(i=1;i<N;i++) { A[i] = A[i-1]*691504013 % Mod; B[i] = B[i-1]*308495997 % Mod; } } ll fastm(ll n,ll k,ll MOD) { ll res = 1LL; n %= MOD; while(k) { if(k&1LL) res = (res*n)%MOD; k >>= 1; n = n*n%MOD; } return res; } ll Inv(ll n,ll MOD) { return fastm(n,MOD-2,MOD); } int main() { int cs; ll n,k; init(); ll ans,r; scanf("%d",&cs); while(cs--) { scanf("%lld%lld",&n,&k); ans = 0; for(r=0;r<=k;r++) { ll t = A[k-r]*B[r] % Mod; ll x = fac[k]; // k! ll y = fac[k-r]*fac[r] % Mod; // (k-r)!*(r)! ll c = x*Inv(y,Mod) % Mod; // c = C(k,r) = x/y = x*Inv(y) ll tmp = t*(fastm(t,n,Mod)-1)%Mod*Inv(t-1,Mod)%Mod; //t(t^n-1)/(t-1) = t(t^n-1)*Inv(t-1) if(t == 1) tmp = n%Mod; tmp = tmp*c%Mod; if(r&1LL) // (-1)^r ans -= tmp; else ans += tmp; ans %= Mod; } //ans = ans*(1/sqrt(5))^k ll m = Inv(383008016,Mod)%Mod; ans = ans*fastm(m,k,Mod)%Mod; ans = (ans%Mod+Mod)%Mod; printf("%lld\n",ans); } return 0; }
View Code
相关文章推荐
- UVA 11149 Power of Matrix 快速幂
- Another kind of Fibonacci(hdu3306)矩阵快速幂
- UVA 113-Power of Cryptography 数学水题
- UVa 11149 Power of Matrix 矩阵快速幂
- 2017多校训练第二场 hdu6050 Funny Function(数学+快速幂+逆元)
- 【具体数学--读书笔记】1.1 The Power of Hanoi
- hdoj 3306 Another kind of Fibonacci 【矩阵快速幂】
- hdu 3306 Another kind of Fibonacci(矩阵快速幂)
- Power of Matrix UVA - 11149 (矩阵快速幂)
- [zoj 3774]Power of Fibonacci 数论(二次剩余 拓展欧几里得 等比数列求和)
- UVA 113 (暑假-数学-A - Power of Cryptography)
- 2109 Power of Cryptography 数学
- HDOJ 5793 A Boring Question(快速幂+逆元+数学推导)
- [HDU 3306] Another kind of Fibonacci · 矩阵快速幂
- HDU 3306 Another kind of Fibonacci(矩阵快速幂)
- 数学类-113 - Power of Cryptography
- 7_22_E题 Power of Matrix(矩阵快速幂+倍增)
- zzuli 2180 GJJ的日常之沉迷数学【矩阵快速幂 || 逆元】
- 【矩阵幂的和+矩阵快速幂】Power of Matrix UVA - 11149
- 2016弱校联盟十一专场10.5 F Fibonacci of Fibonacci(矩阵快速幂+找循环节)