HDU-6198 number number number(打表找规律、矩阵快速幂)
来源:互联网 发布:叉叉助手脚本提取源码 编辑:程序博客网 时间:2024/06/08 10:42
2017 ACM/ICPC Asia Regional Shenyang Online
题意:
给定一个k,恰好能通过k个斐波那契数相加的数称作mjf-good,否则称作mjf-bad,给定k求值最小的mjf-bad数。[斐波那契数列从f[0]=0,f[1]=1开始]
思路:
由于0也属于斐波那契数,那么mjf-good就转化为了至少能通过k个斐波那契数相加的数,通过打表发现每个k不同的最小的mjf-bad数都是由一个斐波那契数-1所得。然后发现这若干个斐波那契数满足F[n] = F[n-1]*3-F[n-2]; 从而进行矩阵快速幂求解即可。
代码:
#include <algorithm> #include <string.h> #include <cstdio> #define LL long long using namespace std; const LL mod = 998244353; struct node{ LL m[2][2];};node multi(node x, node y) { node res = {0, 0, 0, 0}; for(int i = 0; i < 2; ++i) for(int j = 0; j < 2; ++j) for(int k = 0; k < 2; ++k) res.m[i][j] += x.m[i][k]*y.m[k][j], res.m[i][j] = (res.m[i][j]+mod)%mod; return res; } LL qpow(LL n) { node ans = {1, 0, 0, 1}; node bas = {3, -1, 1, 0}; node col = {5, 0, 2, 0}; while(n) { if(n&1) ans = multi(ans, bas); bas = multi(bas, bas); n >>= 1; } return (multi(ans, col).m[0][0]-1+mod)%mod; } int main() { int k; while(~scanf("%d", &k)) printf("%lld\n", qpow(k-1)); return 0; }
继续加油~
阅读全文
1 0
- HDU-6198 number number number(打表找规律、矩阵快速幂)
- HDU 6198 number number number【找规律+矩阵快速幂】
- HDU 6198 number number number(规律+矩阵快速幂)
- 【HDU 6198】number number number 【规律+矩阵快速幂】
- 【打表找规律+矩阵快速幂】number number number HDU
- Hdu 6198 number number number【矩阵快速幂】
- HDU 6198number number number(矩阵快速幂)
- hdu6198 number number number(找规律+矩阵快速幂)
- hdu6198 number number number【找规律+矩阵快速幂】
- number number number hdu 6189 矩阵快速幂
- HDU-6189 number number number(矩阵快速幂)
- HDU6198 number number number 矩阵快速幂
- 【2017沈阳网络赛】1005 hdu6198 number number number 找规律+矩阵快速幂
- Hdu 1005 Number Sequence//矩阵快速幂
- HDU 1005 Number Sequence(矩阵快速幂)
- HDU-1005- Number Sequence (矩阵快速幂)
- HDU 1005 Number Sequence 矩阵快速幂
- HDU 4279Number (打表找规律)
- php嵌入脚本语言基础知识整理
- 基于嵌入式Linux系统的3G/4G路由器设计——iptables nat 模式
- Jquery Ajax
- HDU6195 cable cable cable 签到
- sanji_pic
- HDU-6198 number number number(打表找规律、矩阵快速幂)
- windows升级
- ws(websocket)协议
- iOS学习笔记-136.RunLoop04——Runloop相关类2_CFRunLoopModeRef
- DNS解析
- 如何正确的寻找电影资源
- 判断一个数是否是丑数
- java study 1
- 国内物联网平台初探(三) ——QQ物联·智能硬件开放平台