<个人笔记>数论

1.快速幂

(1)求解问题

给定 n组 ai,bi,pi求 aibi mod pi 的值。

(2)主要思想:任何一个数(b),可以被 n 个 2k 相加获得。
即 b= 2k1 + 2k2 + 2k3 + … + 2logb

快速幂模板:

typedef long long LL;

LL qmi(int a,int b,int p){

    LL res = 1;

    while(b)
    {
        if(b & 1) res = res * a % p;
        a = a * (LL)a % p;
        b >>= 1;
    }

    return res;
}

逆元

(1)求解问题:对于a / b mod p的值:

将除法改为乘法; 例如 求 (A / B) %p ;在B的值非常大的情况下,B作为除数,极有可能会爆精度;除数不能太大;所以我们可以把他转化为乘法来解决;

(2)主要思想
费马小定理:对于bp-1(mod p) = 1 恒成立。且 逆元:b * b-1 = 1 (mod p)
所以 b 的逆元 b-1 为 bp-2.
可以用快速幂来求:

b^-1^ = qmi(b,p-2,p);

相关推荐

  1. 个人笔记数论

    2024-03-15 23:52:02       21 阅读
  2. RequestAndResponse(个人简陋笔记

    2024-03-15 23:52:02       25 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-15 23:52:02       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-15 23:52:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-15 23:52:02       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-15 23:52:02       20 阅读

热门阅读

  1. C语言练习作业5

    2024-03-15 23:52:02       21 阅读
  2. LeetCode 热题 HOT 100(P11~P20)

    2024-03-15 23:52:02       22 阅读
  3. Oracle数据库连接方式

    2024-03-15 23:52:02       18 阅读
  4. 如何区分 数据库系统 和 数据库管理系统 ?

    2024-03-15 23:52:02       18 阅读
  5. oppo前端开发一面

    2024-03-15 23:52:02       17 阅读
  6. 【C++补充2】vector容器

    2024-03-15 23:52:02       19 阅读
  7. 自动窗帘系统代码如何与硬件设备相连

    2024-03-15 23:52:02       21 阅读
  8. git 想要删掉或回退master分支 commit提交记录

    2024-03-15 23:52:02       20 阅读
  9. Python | import和from在导入模块的时候有什么区别

    2024-03-15 23:52:02       17 阅读