没改LL见祖宗系列。

矩乘不难推吧。然后要用快速乘

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
#include<queue>
using namespace std;
typedef long long LL;
LL mod;LL n,AA,C,X,G;
struct Matrix
{LL a[5][5];Matrix(){}Matrix clear(){memset(a,0,sizeof(a));}
};LL quick_multi(LL k,LL p)
{if(k==0||p==0)return 0LL;LL A=k,ret=0;while(p!=0){if(p%2==1)ret=(ret+A)%mod;A=(A+A)%mod;p/=2;}return ret;
}
Matrix multi(Matrix A,Matrix B)
{Matrix C;C.clear();for(int i=1;i<=2;i++)    for(int j=1;j<=2;j++)for(int k=1;k<=2;k++)C.a[i][j]=(C.a[i][j]+quick_multi(A.a[i][k],B.a[k][j]))%mod;return C;
}
Matrix quick_pow(LL p)
{Matrix A,ret;A.clear();ret.clear();A.a[1][1]=1;A.a[1][2]=0;A.a[2][1]=1;A.a[2][2]=AA;ret.a[1][1]=1;ret.a[1][2]=0;ret.a[2][1]=0;ret.a[2][2]=1;while(p!=0){if(p%2==1)ret=multi(ret,A);A=multi(A,A);p/=2;}return ret;
}
int main()
{scanf("%lld%lld%lld%lld%lld%lld",&mod,&AA,&C,&X,&n,&G);Matrix ans;ans.clear();ans.a[1][1]=C;ans.a[2][1]=X;ans=multi(quick_pow(n),ans);printf("%lld\n",ans.a[2][1]%G);return 0;
}

转载于:https://www.cnblogs.com/AKCqhzdy/p/8643490.html

bzoj2875: [Noi2012]随机数生成器相关推荐

  1. [bzoj2875][Noi2012]随机数生成器

    来自FallDream的博客,未经允许,请勿转载,谢谢. 栋栋最近迷上了随机算法,而随机数是生成随机算法的基础.栋栋准备使用线性同余法(Linear Congruential Method)来生成一个 ...

  2. luogu P3306 [SDOI2013] 随机数生成器(BSGS,数列求通项,毒瘤特判)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 发个水题的 题解证明我还在() luogu P3306 [SDOI2013] 随机数生成器 Webli ...

  3. Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom

    Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom 文中的 Random即:java.util.Random, ThreadLocalRandom 即 ...

  4. 开源Math.NET基础数学类库使用(13)C#实现其他随机数生成器

    原文:[原创]开源Math.NET基础数学类库使用(13)C#实现其他随机数生成器                本博客所有文章分类的总目录:http://www.cnblogs.com/asxiny ...

  5. P5147 随机数生成器 [数列]

    P5147 随机数生成器 数学老师看不懂系列 看题目这一片代码就很晕: int work(int x) {if(x==1)return 0;else return work(rand(1,x))+1; ...

  6. UA STAT675 统计计算I 随机数生成1 随机数生成器的一般理论

    UA STAT675 统计计算I 随机数生成1 随机数生成器的一般理论 RNG的抽象表示 RNG的质量指标 RNG的统计检测 在统计计算中,从某个分布中进行采样通常分为两个步骤: 生成随机数z1,z2 ...

  7. boost::sort模块实现提供多种分布的灵活随机数生成器的测试程序

    boost::sort模块实现提供多种分布的灵活随机数生成器的测试程序 实现功能 C++实现代码 实现功能 boost::sort模块实现提供多种分布的灵活随机数生成器的测试程序 C++实现代码 #i ...

  8. boost::sort模块实现支持不同分布的随机数生成器的测试程序

    boost::sort模块实现支持不同分布的随机数生成器的测试程序 实现功能 C++实现代码 实现功能 boost::sort模块实现支持不同分布的随机数生成器的测试程序 C++实现代码 #inclu ...

  9. ITK:Mersenne Twister随机数生成器

    ITK:Mersenne Twister随机数生成器 内容提要 C++实现代码 内容提要 产生一个随机数 C++实现代码 #include "itkMersenneTwisterRandom ...

最新文章

  1. Python模型顶点法线修复
  2. 点击按钮改变div的颜色
  3. python 拓扑排序_拓扑排序(topsort)算法详解
  4. Extjs4中up()和down()的用法以及组件查找_ComponentQuery类
  5. ubuntu 16.04 安装QT问题
  6. tree命令生成目录结构
  7. [渝粤教育] 广东-国家-开放大学 21秋期末考试互联网营销概论10092k2
  8. npm publish发布包时出现403错误no_perms Private mode enable, only admin can publish this module:
  9. python设计模式之工厂模式概述
  10. 【数学建模】MATLAB应用实战系列(138)-2021年MathorCup高校数学建模挑战赛A题思路解析(附代码)
  11. 前端工程化--yeoman使用
  12. VS2005 安装 WTL80
  13. 2020年电子设计竞赛 B题-单相在线式不间断电源 分析与总结
  14. 20145201 《信息安全系统设计基础》期中总结
  15. 【一起学Rust | 设计模式】新类型模式
  16. 2016用户体验行业调查报告
  17. 3.22全局参数的保存_补作业来啦~~
  18. php老虎杠子鸡虫条件,老虎、杠子、鸡——在游戏中学习
  19. Python实战案例05
  20. 容器中启动ssh状态总是sshd is not running

热门文章

  1. 【译】Why Decentralized AI Matters Part III: Technologies
  2. Android AOP之字节码插桩
  3. 在windows下将Tomcat设置为自动启动的服务
  4. C#、C++、JAVA中虚函数和抽象函数的概念对比
  5. devc++鼠标变成了光标_游戏鼠标到底能不能提升你的实力?
  6. 禁用cookie后怎么使用session_Session 和 Cookie 的区别?你在项目中哪些地方使用了?...
  7. python的类与模块_Python类与模块属性
  8. 李开复开发的国际象棋软件
  9. 使用C/C++解析json文件
  10. 2017年10月05日普及组 约数