模板--快速幂及矩阵快速幂
来源:互联网 发布:最简单的网络贷款平台 编辑:程序博客网 时间:2024/05/16 12:48
快速幂
typedef long long ll;ll fun(ll x,ll n){ ll res=1; while(n>0) { if(n&1) res=(res*x)%Max; x=(x*x)%Max; n>>=1; } return res;}
矩阵快速幂
#include<cstdio>#include<iostream>#include<vector>using namespace std;typedef long long ll;typedef vector<long long>vec;typedef vector<vec>mat;const ll N=1000000009;mat mul(mat a,mat b) //矩阵乘法{ mat c(a.size(),vec(b[0].size())); for(ll i=0;i<a.size();i++) { for(ll k=0;k<b.size();k++) { for(ll j=0;j<b[0].size();j++) { c[i][j]=(c[i][j]+a[i][k]*b[k][j])%N; } } } return c;}mat solve_pow(mat a,ll n) //快速幂{ mat b(a.size(),vec(a.size())); for(ll i=0;i<a.size();i++) { b[i][i]=1; } while(n>0) { if(n&1) b=mul(b,a); a=mul(a,a); n>>=1; } return b;}ll n;void solve(){ mat a(2,vec(2)); while(~scanf("%lld",&n)&&n!=-1) { a[0][0]=1,a[0][1]=1; a[1][0]=1,a[1][1]=0; a=solve_pow(a,n); printf("%lld\n",a[1][0]); }}int main(){ solve(); return 0;}
阅读全文
0 0
- 模板--快速幂及矩阵快速幂
- 矩阵快速幂模板
- 矩阵快速幂--模板
- 矩阵快速幂 模板
- 矩阵快速幂模板
- 矩阵快速幂模板
- 【矩阵快速幂模板】
- 矩阵快速幂模板
- 矩阵快速幂模板
- 矩阵快速幂模板
- 矩阵快速幂【模板】
- 矩阵快速幂模板
- 矩阵快速幂模板
- 矩阵快速幂模板
- 矩阵快速幂模板
- 矩阵快速幂模板
- 矩阵快速幂模板
- 矩阵快速幂 【模板】
- BZOJ 2152: 聪聪可可 分治
- Training RNNs as Fast as CNNs
- HTML <dl> 标签
- 将“在此处打开命令窗口”添加到右键菜单
- 阿里云ECS使用过程中遇到的坑
- 模板--快速幂及矩阵快速幂
- poj2485 highways 之prim解法
- 详解ImageNet 2017夺冠架构SENet
- poj2421 Constructing Roads
- 科技界的看门人—微积分
- select下拉框与input输入框相结合;正则表达式判断字符串是否未日期格式
- computer vision一些术语-目标识别、目标检测、目标分割、语义分割等
- spl 教程四 接口
- 详解vue之vuex