hdu5690All X 「矩阵快速幂」
来源:互联网 发布:上海华东理工网络教育 编辑:程序博客网 时间:2024/04/28 16:18
#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>using namespace std;typedef long long ll;int x,mod;ll m;struct Matrix{ ll mp[10][10]; Matrix() { memset(mp,0,sizeof(mp)); }};Matrix mul(Matrix a,Matrix b){ int i,j,k; Matrix c; for(i=0; i<2; i++) { for(j=0; j<2; j++) { c.mp[i][j]=0; for(k=0; k<2; k++) { c.mp[i][j]=(c.mp[i][j]+a.mp[i][k]*b.mp[k][j])%mod; } } } return c;}Matrix mypow(Matrix t,ll x){ Matrix c; for(int i=0; i<2; i++) c.mp[i][i]=1; while(x) { if(x&1) c=mul(c,t); t=mul(t,t); x>>=1; } return c;}int main(){ int _,c,cas=0; Matrix a,b; scanf("%d",&_); while(_--) { cin>>x>>m>>mod>>c; //scanf("%d%lld%d%d",&x,&m,&mod,&c); a.mp[0][0]=10; a.mp[0][1]=1; a.mp[1][0]=0; a.mp[1][1]=1; a=mypow(a,m-1); b.mp[0][0]=x; b.mp[0][1]=0; b.mp[1][0]=x; b.mp[1][1]=0; b=mul(a,b); printf("Case #%d:\n",++cas); if(b.mp[0][0]%mod==c) puts("Yes"); else puts("No"); } return 0;}
0 0
- hdu5690All X 「矩阵快速幂」
- HDU 5690 All X 矩阵快速幂
- hdu5690百度之星All X(矩阵快速幂)
- 快速矩阵快速幂
- 转移矩阵+矩阵快速幂
- 矩阵乘法 矩阵快速幂
- 构造矩阵+矩阵快速幂
- 矩阵快速幂,矩阵加法,矩阵乘法
- 快速幂||矩阵快速幂
- 快速幂&矩阵快速幂
- 快速幂,矩阵快速幂
- 快速幂 矩阵快速幂
- 快速幂&矩阵快速幂
- 【快速幂】【矩阵快速幂】
- 快速幂和快速矩阵
- poj3070--矩阵 快速幂
- POJ3233矩阵快速幂
- poj3070Fibonacci 矩阵快速幂
- BZOJ 4566: [Haoi2016]找相同字符
- JDK1.6.0+Tomcat6.0+myeclipse6.5的安装配置
- python zip( )函数
- 125. Valid Palindrome
- 【STL】back_inserter与back_insert_iterator
- hdu5690All X 「矩阵快速幂」
- Notification的几种用法(API不同)
- 从零开始学_JavaScript_系列(20)——js系列<7>(函数原型的两种声明方式、函数的作用域)
- BZOJ 4566: [Haoi2016]找相同字符
- iOS多线程的初步研究(七)-- dispatch对象
- mysql 导入excel
- MyBatis之增删改查
- HBuilder webApp开发(一)新建项目
- (怒赞)java实现TCP协议和UDP协议的 聊天小程序