BZOJ 2875 [NOI2012] 随机数生成器
来源:互联网 发布:智多星软件视频教程 编辑:程序博客网 时间:2024/05/21 10:34
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> #include<iostream> #include<vector> #include<stack> #include<queue> using namespace std; #define MAX 3 struct mat{long long c[MAX][MAX];}; long long M,A,C,X0,N,G; long long mult1(long long A,long long B) { long long tmp=0; while(B!=0) { if(B&1) tmp=(tmp+A)%M; B>>=1; A=(A<<1)%M; } return tmp%M; } mat mult(mat A,mat B) { mat now; for(int i=1;i<=2;i++) for(int j=1;j<=2;j++) { now.c[i][j]=0; for(int k=1;k<=2;k++) now.c[i][j]=(now.c[i][j]+mult1(A.c[i][k],B.c[k][j]))%M; } return now; } mat power(mat now,long long n) { if(n==1) return now; else if(n&1) return mult(power(now,n-1),now); else { mat use; use=power(now,n/2); return mult(use,use); } } mat a,ans; void work() { mat now; a.c[1][1]=A;a.c[1][2]=0; a.c[2][1]=C;a.c[2][2]=1; now=power(a,N); ans.c[1][1]=X0;ans.c[1][2]=1; ans.c[2][1]=0;ans.c[2][2]=0; ans=mult(ans,now); } int main() { //freopen("random.in","r",stdin); //freopen("random.out","w",stdout); scanf("%lld%lld%lld%lld%lld%lld",&M,&A,&C,&X0,&N,&G); work(); printf("%lld\n",ans.c[1][1]%G); //system("pause"); return 0; }
—————————————————————————————————
本文原创自Slience的csdn技术博客。
本博客所有原创文章请以链接形式注明出处。
欢迎关注本技术博客,本博客的文章会不定期更新。
大多数人想要改造这个世界,但却罕有人想改造自己。
世上没有绝望的处境,只有对处境绝望的人。
————By slience
—————————————————————————————————
0 0
- BZOJ 2875 [NOI2012] 随机数生成器
- BZOJ 2875: [Noi2012]随机数生成器
- BZOJ 2875 2875: [NOI2012]随机数生成器
- BZOJ 2875 NOI2012 随机数生成器 矩阵乘法
- 【BZOJ 2875】[Noi2012]随机数生成器 矩阵乘法
- Bzoj 2875: [Noi2012]随机数生成器(矩阵乘法)
- 2875: [Noi2012]随机数生成器
- BZOJ 2875 [Noi2012] 随机数生成器 题解与分析
- BZOJ 2875: [Noi2012]随机数生成器【矩阵乘法优化递推
- [BZOJ 2875][Noi2012]随机数生成器:矩阵乘法+快速乘
- 【NOI2012】随机数生成器
- [bzoj2875][Noi2012]随机数生成器
- [BZOJ2875][Noi2012]随机数生成器
- 【NOI2012】【BZOJ2875】随机数生成器
- 【NOI2012】随机数生成器
- 【NOI2012】随机数生成器
- BZOJ2875 [Noi2012]随机数生成器
- 【NOI2012】随机数生成器
- 一道题的瞎想
- 黑马程序员-我的第十一篇学习日记:OC构造方法和分类的使用
- android Message 消息处理机制
- Set the number format of cells in an Excel file
- 驱动程序的基本结构
- BZOJ 2875 [NOI2012] 随机数生成器
- Python快速学习03:运算 & 缩进和选择
- 机器学习自学指南
- USACO Prime Cryptarithm
- 2.2.3 第三版:唯美主义的杰作
- 解放军要求全军和武警部队学习习近平论述摘编
- SharedPreferences保存android数据
- android popupWindow 弹出窗体
- php简单上传类