Description
Input

包含6个用空格分割的m,a,c,X0,n和g,其中a,c,X0是非负整数,m,n,g是正整数。

Output

输出一个数,即Xn mod g
Sample Input

11 8 7 1 5 3

Sample Output
2

快速幂+快速乘

 type
matrix=array[..,..]of int64;
var
a,c,p,x0,n,g:int64;
x,y:matrix; function kc(x,y:int64):int64;
begin
if y= then exit();
kc:=kc(x,y>>);
kc:=(kc+kc)mod p;
if y and = then kc:=(kc+x)mod p;
end; operator *(a,b:matrix)c:matrix;
var
i,j,k:longint;
begin
fillchar(c,sizeof(c),);
for i:= to do
for j:= to do
for k:= to do
c[i,k]:=(c[i,k]+kc(a[i,j],b[j,k]))mod p;
end; procedure main;
begin
read(p,a,c,x0,n,g);
x[,]:=;x[,]:=;
y[,]:=a;y[,]:=c;y[,]:=;
while n> do
begin
if n and = then x:=x*y;
y:=y*y;
n:=n>>;
end;
writeln((kc(x0,x[,])+x[,])mod p mod g);
end; begin
main;
end.

2875: [Noi2012]随机数生成器 - BZOJ的更多相关文章

  1. BZOJ 2875: [Noi2012]随机数生成器( 矩阵快速幂 )

    矩阵快速幂...+快速乘就OK了 ----------------------------------------------------------------------------------- ...

  2. Bzoj 2875: [Noi2012]随机数生成器(矩阵乘法)

    2875: [Noi2012]随机数生成器 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 2052 Solved: 1118 Description ...

  3. 【BZOJ】2875: [Noi2012]随机数生成器(矩阵乘法+快速乘)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2875 矩阵的话很容易看出来.....我就不写了.太水了. 然后乘法longlong会溢出...那么我 ...

  4. bzoj 2875: [Noi2012]随机数生成器

    #include<cstdio> #include<iostream> #include<cstring> #define ll long long using n ...

  5. 矩阵(快速幂):COGS 963. [NOI2012] 随机数生成器

    963. [NOI2012] 随机数生成器 ★★   输入文件:randoma.in   输出文件:randoma.out   简单对比 时间限制:1 s   内存限制:128 MB [问题描述] 栋 ...

  6. [NOI2012]随机数生成器【矩阵快速幂】

    NOI2012 随机数生成器 题目描述 栋栋最近迷上了随机算法,而随机数是生成随机算法的基础.栋栋准备使用线性同余法(Linear Congruential Method)来生成一个随机数列,这种方法 ...

  7. 【BZOJ 2875】 [Noi2012]随机数生成器

    Description  给你6个数,m, a, c, x0, n, g Xn+1 = ( aXn + c ) mod m,求Xn m, a, c, x0, n, g<=10^18 Input ...

  8. BZOJ2875 & 洛谷2044:[NOI2012]随机数生成器——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=2875 https://www.luogu.org/problemnew/show/P2044 栋栋 ...

  9. 【bzoj2875】 Noi2012—随机数生成器

    http://www.lydsy.com/JudgeOnline/problem.php?id=2875 (题目链接) 题意 求${X_{n}}$. Solution 矩乘板子,这里主要讲下会爆lon ...

随机推荐

  1. MapView

    有两种方式可以将 MapView 添加到应用当中:一个是 XML 方式,另一个是硬编码方式:一般多采用 XML方式,方便调整布局及其属性相关设置. 1.1XML方式 <com.esri.andr ...

  2. Part 100 Func delegate in c#

    What is Func<T,TResult> in C#? In simple terms,Func<T,TResult> is just generic delegate. ...

  3. AMQ学习笔记 - 14. 实践方案:基于ZooKeeper + ActiveMQ + replicatedLevelDB的主从部署

    概述 基于ZooKeeper + ActiveMQ + replicatedLevelDB,在Windows平台的主从部署方案. 主从部署可以提供数据备份.容错[1]的功能,但是不能提供负载均衡的功能 ...

  4. Sublime Text 2入门指南

    Sublime Text 2入门指南   一天在iteye上看到范凯介绍一个开发工具(TextMate ),看下面的评论时看到Sublime Text 2.其实我一直喜欢editplus.百度了一番才 ...

  5. if语句代码优化

    if($sum==7){ $sz+=135; }elseif($sum==5){ $sz+=80; }elseif($sum==6){ $sz+=97; }elseif($sum==4){ $sz+= ...

  6. 使用winform来递归实现资源管理器

    这里主要是对TreeView控件的学习 所使用到的方法: string path=@"E:\歌词"; //获得指定文件夹下所有文件夹的名称,这是带路径的,如:E:\歌词\11111 ...

  7. 压缩html 减小存储空间

    压缩html 减小存储空间 方法一.php代码,清除换行符,清除制表符,去掉注释标记 /** * 压缩html : 清除换行符,清除制表符,去掉注释标记 * @param $string * @ret ...

  8. 安装配置 redis

    1.  cd /usr/ley/softwares 2.  wget  http://download.redis.io/redis-stable.tar.gz 3.  tar –xzf redis- ...

  9. JAVA多线程学习--哲学家就餐问题

    哲学家就餐问题是1965年由Dijkstra提出的一种线程同步的问题. 问题描述:一圆桌前坐着5位哲学家,两个人中间有一只筷子,桌子中央有面条.哲学家思考问题,当饿了的时候拿起左右两只筷子吃饭,必须拿 ...

  10. jquery鼠标滑过提示title具体实现代码

    jquery鼠标滑过提示title的实现代码. 如下: <script type="text/javascript" src="http://ajax.google ...