首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
bzoj2875
】的更多相关文章
【BZOJ2875】随机数生成器(矩阵快速幂)
[BZOJ2875]随机数生成器(矩阵快速幂) 题面 Description 栋栋最近迷上了随机算法,而随机数是生成随机算法的基础.栋栋准备使用线性同余法(Linear Congruential Method)来生成一个随机数列,这种方法需要设置四个非负整数参数m,a,c,X[0],按照下面的公式生成出一系列随机数{Xn}: \[X[n+1]=(aX[n]+c) mod m\] 其中mod m表示前面的数除以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的余数.从这个式子可以看出,这个序列的下一个数总是由上一个数生成的. 用这种方法生成的…
【bzoj2875】 Noi2012—随机数生成器
http://www.lydsy.com/JudgeOnline/problem.php?id=2875 (题目链接) 题意 求${X_{n}}$. Solution 矩乘板子,这里主要讲下会爆long long的整数相乘取模,我们用double可以做到${O(1)}$. 求${(AB)~mod~C}$.求出${D=\lfloor\frac{AB}{C}\rfloor}$,我们用long double搞.那么最后的答案就是${AB-CD}$,我们直接long long搞,可以视作是在模${2^{…
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,按照下面的公式生…
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…
bzoj2875
题意:\(x_{i+1}=(x_{i}*a+c)%m\)求,x_n%g 题解:\(x_n=(a^n*x_0+(a^{n-1}+a^{n-2}+...+a+1)*c)%m\),由于a-1和m不一定互质,所以没法逆元,只能矩阵快速幂求,乘法必须用快速乘,不然会爆ll /************************************************************** Problem: 2875 User: walfy Language: C++ Result: Accept…
bzoj2875随机数生成器
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2875 矩阵乘裸题. 如果直接乘的话会爆long long,所以用加法代替乘,过程中不断取模. 加法应是快速乘,不要O(n)循环…… #include<iostream> #include<cstdio> #include<cstring> #define ll long long using namespace std; ll n,m,g,a,c,ans,x; l…
BZOJ2875 & 洛谷2044:[NOI2012]随机数生成器——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=2875 https://www.luogu.org/problemnew/show/P2044 栋栋最近迷上了随机算法,而随机数是生成随机算法的基础.栋栋准备使用线性同余法(Linear Congruential Me thod)来生成一个随机数列,这种方法需要设置四个非负整数参数m,a,c,X[0],按照下面的公式生成出一系列随机 数X[n]X[n+1]=(aX[n]+c)mod m其中mod…
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随机数生成器——矩阵快速幂
题目: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)…