O(1)乘法与快速乘O(log)
//O(1)快速乘
inline LL quick_mul(LL x,LL y,LL MOD){
x=x%MOD,y=y%MOD;
return ((x*y-(LL)(((long double)x*y+0.5)/MOD)*MOD)%MOD+MOD)%MOD;
}
//O(log)快速乘
inline LL quick_mul(LL a,LL n,LL m)
{
LL ans=;
while(n)
{
if(n&) ans=(ans+a)%m;
a=(a<<)%m;
n>>=;
}
return ans;
}
O(1) 的有误差的 , 在mod 很大的时候不推荐用
O(1)乘法与快速乘O(log)的更多相关文章
- 数学--数论--HDU 4675 GCD of Sequence(莫比乌斯反演+卢卡斯定理求组合数+乘法逆元+快速幂取模)
		先放知识点: 莫比乌斯反演 卢卡斯定理求组合数 乘法逆元 快速幂取模 GCD of Sequence Alice is playing a game with Bob. Alice shows N i ... 
- Luogu 3390 【模板】矩阵快速幂 (矩阵乘法,快速幂)
		Luogu 3390 [模板]矩阵快速幂 (矩阵乘法,快速幂) Description 给定n*n的矩阵A,求A^k Input 第一行,n,k 第2至n+1行,每行n个数,第i+1行第j个数表示矩阵 ... 
- Luogu T7152 细胞(递推,矩阵乘法,快速幂)
		Luogu T7152 细胞(递推,矩阵乘法,快速幂) Description 小 X 在上完生物课后对细胞的分裂产生了浓厚的兴趣.于是他决定做实验并 观察细胞分裂的规律. 他选取了一种特别的细胞,每 ... 
- 矩阵乘法&矩阵快速幂&矩阵快速幂解决线性递推式
		矩阵乘法,顾名思义矩阵与矩阵相乘, 两矩阵可相乘的前提:第一个矩阵的行与第二个矩阵的列相等 相乘原则: a b * A B = a*A+b*C a*c+b*D c d ... 
- bzoj 3240: [Noi2013]矩阵游戏 矩阵乘法+十进制快速幂+常数优化
		3240: [Noi2013]矩阵游戏 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 613 Solved: 256[Submit][Status] ... 
- 【Learning】多项式乘法与快速傅里叶变换(FFT)
		简介: FFT主要运用于快速卷积,其中一个例子就是如何将两个多项式相乘,或者高精度乘高精度的操作. 显然暴搞是$O(n^2)$的复杂度,然而FFT可以将其将为$O(n lg n)$. 这看起来十分玄学 ... 
- CH0101 a^b、 CH0102 64位整数乘法(快速幂、快速乘)【模板题】
		题目链接:传送门 //a^b 传送门 //64位整数乘法 题目: 描述 求 a 的 b 次方对 p 取模的值,其中 ≤a,b,p≤^ 输入格式 三个用空格隔开的整数a,b和p. 输出格 ... 
- 矩阵乘法&&矩阵快速幂&&最基本的矩阵模型——斐波那契数列
		矩阵,一个神奇又令人崩溃的东西,常常用来优化序列递推 在百度百科中,矩阵的定义: 在数学中,矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合 ,最早来自于方程组的系数及常数所构成的方阵.这一 ... 
- poj3613:Cow Relays(倍增优化+矩阵乘法floyd+快速幂)
		Cow Relays Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7825 Accepted: 3068 Descri ... 
随机推荐
- 使用递归函数,输出n个元素的所有子集
			题目描述: 请编写一个递归函数,用来输出n个元素的所有子集.例如,三个元素{a,b,c}的所有子集是:{},{a},{b},{c},{a,c},{ac},{b,c},{a,b,c}. 解题思路: 根据 ... 
- 【转载】Python BeautifulSoup匹配字符串
			作者:鸡仔说链接:https://www.jianshu.com/p/ceb99aed4b2e來源:简书 BeautifulSoup中可以通过name和attrs去定位名称和属性,以找到特定的html ... 
- 第九课,ROS仿真1
			---恢复内容开始--- 1.stage simulator 它是一个轻量级的仿真软件,它的包名称是stage_ros,可以进入看看,其包含地图在子目录world下, 启动之: rosrun stag ... 
- poj 1988 Cube Stacking (并查集)
			题意:有N(N<=30,000)堆方块,开始每堆都是一个方块.方块编号1 – N. 有两种操作: M x y : 表示把方块x所在的堆,拿起来叠放到y所在的堆上. C x : 问方块x下面有多少 ... 
- Python开发 第一篇 python的前世今生
			Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ... 
- java IO Nio 文件拷贝工具类Files
			public static void main(String[] args) throws Exception { Files.copy(Paths.get("file/text.txt&q ... 
- Ubuntu安装开发版pidgin支持lwqq插件
			sudo add-apt-repository ppa:lainme/pidgin-lwqq """添加pidgin-lwqq源""" s ... 
- C#  return、continue、break
			return 终止当前进程 可用循环判断,验证,等功能 if (ew == v) { PublicControlLib.Class.PublicProperties.ShowSuccess(); re ... 
- asp.net  winform 界面传值
			第一种 //form1 //静态传值 public static string Chuanzhi; string Chuanzhi = textbox.text; //form2 string Chu ... 
- SOA-WebService
			一.创建Web服务方法 在项目上右击选择新建项>>Web服务(ASMX),并命名,如MyWebService.asmx 二.注意事项 所有需要外界调用的方法上端均需增加特性[WebMeth ... 
