【算法笔记】组合数学

编程入门 行业动态 更新时间:2024-10-04 17:27:57

【算法笔记】<a href=https://www.elefans.com/category/jswz/34/1769978.html style=组合数学"/>

【算法笔记】组合数学

目录

    • 前言
    • 说明
    • 栗子
    • 计算逆元
    • 解决方法
    • 例题1-小y的组合数取模问题
      • Description
      • Input
      • Output
      • Data
      • Solution
      • Code
    • 例题2-乘法序列
      • Description
      • Input
      • Output
      • Data
      • Solution
      • Code
    • 尾声

前言

在 O I OI OI 中,大多数情况下,善良的出题人为了避免高精度等大整数计算,常常会要求输出答案对一个数(大多是质数)取模的情况,但这衍生了一个问题:若题目中计算需用到除法而我们知道,如果 a ≡ b ( m o d c ) a \equiv b \pmod{c} a≡b(modc) 在大部分情况下 ⌊ a d ⌋ ≢ ⌊ b d ⌋ ( m o d c ) \lfloor \frac {a} {d} \rfloor \not\equiv \lfloor \frac {b} {d} \rfloor \pmod{c} ⌊da​⌋​≡⌊db​⌋(modc) (注意一般题目会默认对一个数取模是数论(整数)意义上的取模,故这里除法为整数除法),这和等式的性质是不同的,要解决这个问题,就需要用到一个概念:乘法逆元。

说明

我们来举个例子吧,先再实数范围举例,由小学知识可知,如果一个代数式 F F F 乘一个数 a a a 后,再乘它的倒数 1 a \frac {1} {a} a1​ ,相当于没有乘 a a a (这里不考虑 0 0 0 的情况),换句话说,我们乘 1 a \frac {1} {a} a1​ 后,取消了代数式 F F F 乘 a a a 后值增大的影响。
不难发现这符合逆元的定义,故我们可以说一个数和其倒数互为乘法逆元。除此之外,我们还能发现一个数和其相反数互为加法逆元等等……

接下来回到代数式的例子,考虑为什么 a a a 的倒数 1 a \frac 1 a a1​ 能消去乘 a a a 的影响。显然,是由于乘法结合律的存在,使得我们在运算 F × a × 1 a F \times a \times \frac 1 a F×a×a1​ 时可以先运算 a × 1 a a \times \frac 1 a a×a1​ 的值,再运算它和 F F F 的乘积,而 a × 1 a = 1 a \times \frac 1 a = 1 a×a1​=1 ,任何数与 1 1 1 的乘积均为其本身,从而使乘 a a a 对

更多推荐

【算法笔记】组合数学

本文发布于:2024-02-28 12:29:35,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1769560.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:组合   算法   数学   笔记

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!