首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
[日常摸鱼]bzoj2875[NOI2012]随机数生成器-矩阵快速幂
】的更多相关文章
[日常摸鱼]bzoj2875[NOI2012]随机数生成器-矩阵快速幂
好裸的矩阵快速幂-然而我一开始居然构造不出矩阵- 平常两个的情况都是拿相邻两项放在矩阵里拿去递推的-然后我就一直构造不出来-其实把矩阵下面弄成1就好了啊orz #include<cstdio> #include<cstring> #define rep(i,n) for(register lint i=1;i<=n;i++) typedef long long lint; lint m,n,g; struct matrix { lint m[3][3]; matrix(){m…
BZOJ 2875: [Noi2012]随机数生成器( 矩阵快速幂 )
矩阵快速幂...+快速乘就OK了 -------------------------------------------------------------------------------------- #include<bits/stdc++.h> using namespace std; typedef long long ll; ll MOD, a, c, x, n, g; ll MUL(ll a, ll b) { ll ans = 0; for(; b; b >…
[luogu2044][NOI2012] 随机数生成器 [矩阵快速幂]
题面: 传送门 思路: 看一眼这个公式: $x\left[n+1\right]=\left(a\ast x\left[n\right]+c\right) mod m$ 递推,数据范围$n\leq 10^18$,自然想到矩阵快速幂 构造如下矩阵: 状态矩阵: $\begin{bmatrix}x\lbrack i\rbrack&1\end{bmatrix}$ 转移矩阵: $\begin{bmatrix}a&0\\c&1\end{bmatrix}$ 从x[0]开始做转移矩阵的n次幂,再乘…
bzoj2875随机数生成器——矩阵快速幂
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2875 矩阵快速幂,把x和c分开求,最后加上即可: 为防止爆long long,要用快速乘. 代码如下: #include<iostream> #include<cstdio> #include<cstring> using namespace std; typedef long long ll; ll n,x,a,c,m,g; ll mul(ll x,ll y)…
Bzoj 2875: [Noi2012]随机数生成器(矩阵乘法)
2875: [Noi2012]随机数生成器 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 2052 Solved: 1118 Description 栋栋最近迷上了随机算法,而随机数是生成随机算法的基础.栋栋准备使用线性同余法(Linear Congruential Me thod)来生成一个随机数列,这种方法需要设置四个非负整数参数m,a,c,X[0],按照下面的公式生成出一系列随机 数X[n]X[n+1]=(aX[n]+c)mod m其中mo…
BZOJ2875 [Noi2012]随机数生成器 【矩阵乘法 + 快速乘】
题目 栋栋最近迷上了随机算法,而随机数是生成随机算法的基础.栋栋准备使用线性同余法(Linear Congruential Me thod)来生成一个随机数列,这种方法需要设置四个非负整数参数m,a,c,X[0],按照下面的公式生成出一系列随机 数X[n]X[n+1]=(aX[n]+c)mod m其中mod m表示前面的数除以m的余数.从这个式子可以看出,这个序列的下一个数 总是由上一个数生成的.用这种方法生成的序列具有随机序列的性质,因此这种方法被广泛地使用,包括常用的C+ +和Pascal的…
bzoj2875: [Noi2012]随机数生成器
矩阵乘法. x[n] = {x[0],1} * ( {a,0} ^ n ) {b,1} 写成这样谁能看懂.... noi里的大水题.我居然 #include<cstdio> #include<algorithm> #include<cstring> #include<iostream> #define LL long long using namespace std; ; LL a,b,mod,g,x,n,ans; LL mul(long long a,lo…
[NOI2012]随机数生成器 矩阵乘法
Code: #include<cstdio> #include<algorithm> #include<iostream> #include<cstring> #include<string> using namespace std; void setIO(string a){ freopen((a+".in").c_str(),"r",stdin); } #define ll long long ll m…
【BZOJ2875】【NOI2012】随机数生成器(矩阵快速幂)
[BZOJ2875]随机数生成器(矩阵快速幂) 题面 Description 栋栋最近迷上了随机算法,而随机数是生成随机算法的基础.栋栋准备使用线性同余法(Linear Congruential Method)来生成一个随机数列,这种方法需要设置四个非负整数参数m,a,c,X[0],按照下面的公式生成出一系列随机数{Xn}: \[X[n+1]=(aX[n]+c) mod m\] 其中mod m表示前面的数除以m的余数.从这个式子可以看出,这个序列的下一个数总是由上一个数生成的. 用这种方法生成的…
BZOJ-2875 随机数生成器 矩阵乘法快速幂+快速乘
题目没给全,吃X了... 2875: [Noi2012]随机数生成器 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 1479 Solved: 829 [Submit][Status][Discuss] Description 栋栋最近迷上了随机算法,而随机数生成是随机算法的基础.栋栋准备使用线性同余法(Linear Congruential Method)来生成一个随机数列,这种方法需要设置四个非负整数参数m, a, c, X0,按照下面的公式生…