洛谷P1349 广义斐波那契数列
2024-09-05 09:46:48
话说谁能告诉我矩阵怎么用latex表示……
差不多就这样
//minamoto
#include<iostream>
#include<cstdio>
#include<cstring>
#define ll long long
using namespace std;
ll n,m,p,q,a1,a2;
struct Matrix{
ll g[][];
Matrix(){memset(g,,sizeof(g));}
Matrix(int Arr[][]){
for(int i=;i<;++i) for(int j=;j<;++j)
g[i][j]=Arr[i][j];
}
inline Matrix operator *(Matrix b){
Matrix ans;
for(int i=;i<;++i)
for(int j=;j<;++j)
for(int k=;k<;++k)
(ans.g[i][j]+=g[i][k]*b.g[k][j])%=m;
return ans;
}
};
int main(){
scanf("%lld%lld%lld%lld%lld%lld",&p,&q,&a1,&a2,&n,&m);
if(n==) return printf("%lld\n",a1),;
if(n==) return printf("%lld\n",a2),;
n-=;
int a[][]={{a2,a1},{,}};
int b[][]={{p,},{q,}};
Matrix A(a),B(b);
while(n){
if(n&) A=A*B;
B=B*B,n>>=;
}
printf("%lld\n",A.g[][]);
return ;
}
最新文章
- 使用四元数解决万向节锁(Gimbal Lock)问题
- Linux装无线驱动
- apache 使用 .htaccess 导致500错误
- phpmyadmin 4.x 版本无法看到登录框的处理
- MySQL学习-常用命令整理
- linux命令-查看当前目录下所有文件的大小:“ll -h”
- C#获取URL参数值(NameValueCollection)
- Solr基础理论与维护管理快速上手(含查询参数说明)
- IEnumerable实践应用
- 【读书笔记】Linux源码注释
- [Angular Tutorial] 1-Static Template
- 苹果新的编程语言 Swift 语言进阶(三)--基本运算和扩展运算
- JAVA设计模式--学习总结(序)
- Effective Java目录
- Android Studio 直播弹幕
- $(document).ready()和onload() html渲染时的区别
- java 反射与其应用
- macbook远程连接报错no matching cipher found
- Mybatis常见问题总结
- Django学习手册 - reverse()反转URL
热门文章
- shingling算法——提取特征,m个hash函数做指纹计算,针对特征hash后变成m维向量,最后利用union-find算法计算相似性
- DFS的简单应用(zoj2110,poj1562)
- Android中高效的显示图片之一 ——加载大图
- ACM学习历程—HDU 5512 Pagodas(数学)
- 大数据排序算法:外部排序,bitmap算法;大数据去重算法:hash算法,bitmap算法
- CF1092 D &; E —— 思路+单调栈,树的直径
- mysql5.5主从同步复制配置
- form+iframe实现ajax文件上传
- C语言计算日期间隔天数的经典算法解析
- linux命令-bzip2压缩