hdu 5451 Best Solver -广义斐波那契+矩阵快速幂+共轭构造+循环节
来源:互联网 发布:企业网站域名备案表 编辑:程序博客网 时间:2024/05/21 10:25
http://acm.hdu.edu.cn/showproblem.php?pid=5451
方法类似http://blog.csdn.net/viphong/article/details/52980972
只不过此题指定了a=5,b=24
首先根据http://blog.csdn.net/viphong/article/details/52980972 中的方法,构造 Cn=An+Bn
推出
C(n+1)=10*C(n)−C(n−1)
然后由于本题的次数是 1+2^x, x非常大
可以证明循环节是不大的
这里用暴力打表找循环节
#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;const int N = 2;long long mod=1e9+7;long long n;const long long k=2;int f[86000];long long len;const long long b=24-5*5;int work(){ const int modd=mod; f[1]=10%modd; f[2]=98%modd; for (int i=3; ; i++) { f[i]=(f[i-1]*10-f[i-2]+modd)%modd; //f[i]=(f[i]+modd)%modd; if (f[i-1]==f[1]&&f[i]==f[2] ) return len=i-2; }}int powe_m(int a,int b,const int mod ){ long long ans=1; long long tmp=a; while(b!=0) { if (b&1) ans=ans*tmp%mod; tmp=tmp*tmp%mod; b=b>>1; } return ans;}int main(){ int t; scanf("%d",&t); int cnt=1; while(t--) { scanf("%lld%lld,",&n,&mod); work(); long long id=powe_m(2,n,len); id=(id+1)%len; printf("Case #%d: %lld\n", cnt++,(( f[id]-1 )%mod+mod)%mod); } return 0;}
0 0
- hdu 5451 Best Solver -广义斐波那契+矩阵快速幂+共轭构造+循环节
- 5451 Best Solver 构造共轭复根求递推矩阵&广义斐波那契循环节降幂
- HDU 5451 Best Solver(矩阵快速幂+ 共轭复数 + 循环节 数论啊 )
- hdu4565 So Easy! 广义斐波那契+矩阵快速幂+共轭构造
- [HDU 5451] Best Solver (向下取整+矩阵快速幂+广义Fibonacci降幂)
- hdoj 5451 Best Solver 【求循环节 + 矩阵快速幂】
- hdu 5451 Best Solver 快速矩阵乘法 Fibonacci数列的循环节
- hdu 4565 So Easy! 共轭构造+斐波那契矩阵加速
- hdu 5451 Best Solver (特征方程求通项+广义Fibonacci数列找循环节)
- HDU 4565So Easy! 共轭构造+矩阵快速幂
- HDU-4565 So Easy! 矩阵快速幂 & 共轭构造
- Hdu 5451 Best Solver(快速幂取模+循环节) -2015 ACM-ICPC沈阳网赛1002
- hdu5451Best Solver=矩阵快速幂+广义斐波拉契
- HDU 4565So Easy!2012长沙邀请赛A题(共轭构造+矩阵的快速幂)
- 【构造共轭函数+矩阵快速幂】HDU 4565 So Easy! (2013 长沙赛区邀请赛)
- HDU 5451 Best Solver
- 51nod 1358 浮波那契 (类斐波那契数列+矩阵快速幂+构造矩阵)
- hdu 5451 Best Solver(矩阵乘法+数论)
- servlet和jsp有什么关系
- 二次规划(quadratic programming)
- 【POJ 2253 Frogger】+ Floyd
- maven自定义插件 jenkis打包 jar包版本校验dependency-check-plugin:check
- Docker 使用指南 (四)—— 数据卷的使用
- hdu 5451 Best Solver -广义斐波那契+矩阵快速幂+共轭构造+循环节
- 链表尾插
- SAP 标准成本、计划成本、目标成本、实际成本计算公式
- Windows下使用TensorFlow
- Android Studio运行找不到Genymotion虚拟机
- C++中的new和delete,C中的free、malloc、calloc、realloc、_alloca
- Andriod Studio debug.keystore(默认)和如何生成自定义的keystore 以及如何生成数字签名
- NO.2 Python读入图片并灰度显示并保存退出
- Linux多线程编程--同步与互斥