整数快速乘法/快速幂+矩阵快速幂+Strassen算法
快速幂算法可以说是ACM一类竞赛中必不可少,并且也是非常基础的一类算法,鉴于我一直学的比较零散,所以今天用这个帖子总结一下
快速乘法通常有两类应用:一、整数的运算,计算(a*b) mod c 二、矩阵快速乘法
一、整数运算:(快速乘法、快速幂)
先说明一下基本的数学常识:
(a*b) mod c == ( (a mod c) * (b mod c) ) mod c //这最后一个mod c 是为了保证结果不超过c
对于2进制,2n可用1后接n个0来表示、对于8进制,可用公式 i+3*j == n (其中 0<= i <=2 ),对于16进制,可用 i+4*j==n(0 <= i <=3)来推算,表达形式为2i 后接 j 个0。
接下来让我们尽可能简单的描述快速乘法的思想:
还没有评论,来说两句吧...