2875: [Noi2012]随机数生成器 - BZOJ
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的更多相关文章
- BZOJ 2875: [Noi2012]随机数生成器( 矩阵快速幂 )
		
矩阵快速幂...+快速乘就OK了 ----------------------------------------------------------------------------------- ...
 - Bzoj 2875: [Noi2012]随机数生成器(矩阵乘法)
		
2875: [Noi2012]随机数生成器 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 2052 Solved: 1118 Description ...
 - 【BZOJ】2875: [Noi2012]随机数生成器(矩阵乘法+快速乘)
		
http://www.lydsy.com/JudgeOnline/problem.php?id=2875 矩阵的话很容易看出来.....我就不写了.太水了. 然后乘法longlong会溢出...那么我 ...
 - bzoj 2875: [Noi2012]随机数生成器
		
#include<cstdio> #include<iostream> #include<cstring> #define ll long long using n ...
 - 矩阵(快速幂):COGS 963. [NOI2012] 随机数生成器
		
963. [NOI2012] 随机数生成器 ★★ 输入文件:randoma.in 输出文件:randoma.out 简单对比 时间限制:1 s 内存限制:128 MB [问题描述] 栋 ...
 - [NOI2012]随机数生成器【矩阵快速幂】
		
NOI2012 随机数生成器 题目描述 栋栋最近迷上了随机算法,而随机数是生成随机算法的基础.栋栋准备使用线性同余法(Linear Congruential Method)来生成一个随机数列,这种方法 ...
 - 【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 ...
 - BZOJ2875 & 洛谷2044:[NOI2012]随机数生成器——题解
		
https://www.lydsy.com/JudgeOnline/problem.php?id=2875 https://www.luogu.org/problemnew/show/P2044 栋栋 ...
 - 【bzoj2875】 Noi2012—随机数生成器
		
http://www.lydsy.com/JudgeOnline/problem.php?id=2875 (题目链接) 题意 求${X_{n}}$. Solution 矩乘板子,这里主要讲下会爆lon ...
 
随机推荐
- sql server存储过程相关
			
1,创建存储过程 create proc proc_test with encryption[这里是对存储过程加密],如果存储过程不常用可以加with recompile[这样存储过程就不会放到缓存里 ...
 - [转]Mac OS X 下部分Android手机无法连接adb问题之解决方案
			
时至当今,Android山寨手机厂商已如此之多,能修改和个性化定制Android OS的能人已是多如牛毛,有的牛人修改Android系统只会影响所修改的点,不会影响其它,然后还有的就不多说了,总之做的 ...
 - JQuery自定义属性的设置和获取
			
Jquery操作自定义属性的方法,很简洁: $("#test").attr("test","aaa") // 设置 $("#tes ...
 - ThinkPHP中的模型二
			
ThinkPHP中的模型 1.为什么要创建数据对象 案例:使用ThinkPHP完成部门管理 ① 设计数据库 ② 创建Dept控制器 路径:./Application/Admin/Controller创 ...
 - HDU 1954 Subway tree systems (树的最小表示法)
			
题意:用一个字符串表示树,0代表向下走,1代表往回走,求两棵树是否同构. 分析:同构的树经过最小表示会转化成两个相等的串. 方法:递归寻找每一棵子树,将根节点相同的子树的字符串按字典序排列,递归回去即 ...
 - GCD Block
			
GCD (Grand Central Dispatch) 是Apple公司开发的一种技术,它旨在优化多核环境中的并发操作并取代传统多线程的编程模式. 在Mac OS X 10.6和IOS 4.0之后开 ...
 - Speeding up AngularJS apps with simple optimizations
			
AngularJS is a huge framework with that already has many performance enhancements built in, but they ...
 - ARP协议详解
			
ARP协议:地址解析协议,将IP地址映射到MAC地址. ARP缓存:每个主机都有存储IP地址和MAC地址的缓冲区.每条记录最长生存时间为10分钟,如果一条记录2分钟没有使用,则会被删除.如果始终在使用 ...
 - RHEL安装docker-compose
			
Note that Compose 1.5.2 requires Docker 1.7.1 or later. pip install docker-compose==1.5.2 Note that ...
 - String与StringBuffer对象问题
			
下面的代码创建了三个String对象,其中pool中一个,heap中两个 String s1 = new String("abc"); String s2 = new String ...