long long int c; long long int work(int n,int m) { long long int ans=0; n=n%c; m=m%c; while(m>0) { if(m&1) ans=(ans+n)%c; n=(n+n)%c; m>>=1; } retur... ...
分类:
其他好文 时间:
2018-04-01 10:45:17
阅读次数:
124
Karatsuba乘法 Karatsuba乘法是一种快速乘法。此算法在1960年由Anatolii Alexeevitch Karatsuba 提出,并于1962年得以发表。此算法主要用于两个大数相乘。普通乘法的复杂度是n2,而Karatsuba算法的复杂度仅为3nlog3≈3n1.585(log3 ...
分类:
其他好文 时间:
2018-03-27 12:24:32
阅读次数:
187
【传送门:BZOJ2875】 简要题意: 给出m,a,c,x[0],并且x数组满足x[i]=(a*x[i-1]+c)%m(i≠0) 给出n,g,求出x[n]%g 题解: 显然用矩乘做,不过用矩乘时,要加long long,而且要用快速乘法来处理两个数之间的乘法,不然会爆long long 参考代码: ...
分类:
其他好文 时间:
2018-03-25 21:12:42
阅读次数:
179
题目大意:求fib(2^n) 就是求fib矩阵的(2^n)次方%p,p是质数,根据费马小定理有 于是这题就完了 注意因为模数比较大会爆LL,得写快速乘法... #include<bits/stdc++.h> #define ll long long #define MOD(x) ((x)>=mod? ...
分类:
其他好文 时间:
2017-12-10 17:38:02
阅读次数:
160
整数快速乘法/快速幂+矩阵快速幂+Strassen算法 快速幂算法可以说是ACM一类竞赛中必不可少,并且也是非常基础的一类算法,鉴于我一直学的比较零散,所以今天用这个帖子总结一下 快速乘法通常有两类应用:一、整数的运算,计算(a*b) mod c 二、矩阵快速乘法 一、整数运算:(快速乘法、快速幂) ...
分类:
编程语言 时间:
2017-10-13 17:05:19
阅读次数:
319
ll p; ll kmul(ll a,ll b){ ll ans=0; for(;b;) { if(b&1) ans=(ans+a)%p; a<<=1; a%=p; b>>=1; } return ans%p;} ...
分类:
其他好文 时间:
2017-09-15 12:15:23
阅读次数:
100
于是在做miller算法的过程中顺便学了一下快速乘.. 没什么可说的了吧,代码如下 ...
分类:
其他好文 时间:
2017-09-14 00:38:02
阅读次数:
181
快速乘是为了防止在乘的时候溢出(即使使用了同余模定理,还是会溢出),但这种情况比较少见,但还是有的,所以会用到快速乘 ...
分类:
其他好文 时间:
2017-08-29 22:21:19
阅读次数:
138
LINK 题意:求满足模p下$\frac{1}{a_i+a_j}\equiv\frac{1}{a_i}+\frac{1}{a_j}$的对数,其中$n,p(1\leq n\leq10^5,2\leq p\leq10^{18})$ 思路:推式子,两边同乘$(a_i + a_j)^3$,得$a_i^2+a ...
分类:
其他好文 时间:
2017-08-18 20:42:12
阅读次数:
152