HDU-6189 number number number(矩阵快速幂)
来源:互联网 发布:ipad广告拦截软件 编辑:程序博客网 时间:2024/06/03 05:51
题目http://acm.hdu.edu.cn/showproblem.php?pid=6198
题意:最小的N用n个f[i]的和得到
思路:打表找规律f[3+2*n]-1(学弟找的,,
代码:
#include <bits/stdc++.h>using namespace std;typedef long long ll;const int MOD = 998244353;const int msize = 2;struct Matrix{ ll a[msize][msize]; Matrix() { memset(a,0,sizeof(a)); }};Matrix Multi(Matrix p,Matrix q){ Matrix tmp; for(int i = 0;i < msize;i++) { for(int j = 0;j < msize;j++) { tmp.a[i][j] = 0; for(int k = 0;k < msize;k++) tmp.a[i][j] += ( p.a[i][k]*q.a[k][j] + MOD) % MOD; tmp.a[i][j] %= MOD; } } return tmp;}Matrix Fast_Matrix(ll n){ Matrix base,ans; base.a[0][0] = base.a[0][1] = base.a[1][0] = 1; base.a[1][1] = 0; ans.a[0][0] = ans.a[1][1] = 1; ans.a[0][1] = ans.a[1][0] = 0; while(n > 0) { if(n & 1) ans = Multi(ans,base); base = Multi(base,base); n >>= 1; } return ans;}int main(){ ll n; while(~scanf("%lld",&n)) { printf("%lld\n",Fast_Matrix(3+2*n-1).a[0][0]-1); }}
阅读全文
0 0
- HDU-6189 number number number(矩阵快速幂)
- number number number hdu 6189 矩阵快速幂
- HDU 6198 number number number(规律+矩阵快速幂)
- HDU 6198number 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 【规律+矩阵快速幂】
- HDU6198 number number number 矩阵快速幂
- hdu6198 number number number(找规律+矩阵快速幂)
- hdu6198 number number number(矩阵快速幂模板题)
- Hdu 1005 Number Sequence//矩阵快速幂
- HDU 1005 Number Sequence(矩阵快速幂)
- HDU-1005- Number Sequence (矩阵快速幂)
- HDU 1005 Number Sequence 矩阵快速幂
- hdu 1005Number Sequence (矩阵快速幂)
- HDU 1005 Number Sequence(矩阵快速幂)
- 浅析---注解
- Ruby元编程-学习笔记(二)-方法
- 一句话木马常用方法
- [http]get post put delete 简介
- 目前刚接触码农世界没多久,知识有限
- HDU-6189 number number number(矩阵快速幂)
- ios带后缀名的字符串的截取
- Java 常用排序算法/程序员必须掌握的 8大排序算法
- 深度学习中的docker容器使用
- Mybatis实现批量更新
- 关于在ie8浏览器下碰到的一些兼容问题
- psutil工具
- S3C2440 U-Boot补丁
- 关于MVP+CLEAN 框架的理解