首页 > 其他分享 >卢卡斯定理学习笔记

卢卡斯定理学习笔记

时间:2024-10-25 15:13:21浏览次数:5  
标签:lfloor right cdot 定理 笔记 equiv 卢卡斯 mod left

卢卡斯定理

  对于非负整数\(a\),\(b\)和质数\(p\),有

\[C_{a}^{b} \equiv C_{a~mod~p}^{b~mod~p} \cdot C_{\lfloor{a/p}\rfloor}^{\lfloor{b/p}\rfloor}~~\left( {mod~p} \right) \]

证明

引理

\[\left( {1 + x} \right)^{p^{\alpha}} \equiv 1 + x^{p^{\alpha}}~~\left( {mod~p} \right) \]

当\(\alpha = 0\) 时,显然成立。

  当\(\alpha = 1\)时,有

\[\left( {1 + x} \right)^{p} = C_{p}^{0}x^{0} + C_{p}^{1}x^{1} + C_{p}^{2}x^{2} + \cdot \cdot \cdot + C_{p}^{p}x^{p} \]

其中

\[C_{p}^{i} = \frac{p!}{\left( {p - i} \right)! \cdot i!} \]

由于\(p\)是质数,所以在上式的分母中,不存在可以消去分子中为\(p\)的数,因此当\(i = 1,~2,~...,~p - 1\)时,有

\[C_{p}^{i} = \frac{p!}{\left( {p - i} \right)! \cdot i!} \equiv 0~~\left( {mod~p} \right) \]

因此

\[\left( {1 + x} \right)^{p} = C_p^0x^{0} + C_p^1x^{1} + C_p^2x^{2} + \cdot \cdot \cdot + C_{p}^{p}x^{p}\\\equiv C _p^0x^{0} + C_{p}^{p}x^{p} = 1 + x^{p}~~\left( {mod~p} \right) \]

\[\left( {1 + x} \right)^{p} \equiv 1 + x^{p}~~\left( {mod~p} \right) \]

数学归纳法。假设当\(\left( {1 + x} \right)^{p^{\alpha}} \equiv 1 + x^{p^{\alpha}}~~\left( {mod~p} \right)\)成立时,证明\(\left( {1 + x} \right)^{p^{\alpha + 1}} \equiv 1 + x^{p^{\alpha + 1}}~~\left( {mod~p} \right)\)也成立。

\[{1 + x} ^{p^{\alpha + 1}} = \left( \left( {1 + x} \right)^{p^{\alpha}} \right)^{p} \\\ \equiv \left( {1 + x^{p^{\alpha}}} \right)^{p}~~\left( {mod~p} \right) \\\ = C_{p}^{0}\left( x^{p^{\alpha}} \right)^{0} + C \]

\[\left( {1 + x} \right)^{p^{\alpha + 1}} \equiv 1 + x^{p^{\alpha + 1}}~~\left( {mod~p} \right) \]

引理证毕。

  接下来我们把\(a\)和\(b\)转换为对应的\(p\)进制数,即

\[\begin{align*} a &= a_{k}p^{k} + a_{k - 1}p^{k - 1} + \cdot \cdot \cdot + a_{0} \\\ b &= b_{k}p^{k} + b_{k - 1}p^{k - 1} + \cdot \cdot \cdot + b_{0} \end{align*} \]

如果\(a\)和\(b\)在\(p\)进制下的位数不一样,那么就在位数小的前面补\(0\),使得他们的位数是一样的。

  接着我们有

\[\begin{align*} \left( {1 + x} \right)^{a} &= \left( {1 + x} \right)^{a_{k}~p^{k}~ + ~a_{k - 1}~~p^{k - 1}~ + ~ \cdot \cdot \cdot ~ + ~a_{0}} \\\ &= \left( \left( {1 + x} \right)^{p^{k}} \right)^{a_{k}} \cdot \left( \left( {1 + x} \right)^{p^{k - 1}} \right)^{a_{k - 1}} \cdot ~ \cdot \cdot \cdot ~ \cdot \left( \left( {1 + x} \right)^{p^{0}} \right)^{a_{0}} \\\ &\equiv \left( {1 + x}^{p^{k}} \right)^{a_{k}} \cdot \left( {1 + x}^{p^{k - 1}} \right)^{a_{k - 1}} \cdot ~ \cdot \cdot \cdot ~ \cdot \left( {1 + x} \right)^{a_{0}}~~\left( {mod~p} \right) \end{align*} \]

\[\left( {1 + x} \right)^{a} \equiv \left( {1 + x}^{p^{k}} \right)^{a_{k}} \cdot \left( {1 + x}^{p^{k - 1}} \right)^{a_{k - 1}} \cdot ~ \cdot \cdot \cdot ~ \cdot \left( {1 + x} \right)^{a_{0}}~~\left( {mod~p} \right) \]

我们要知道\(C_{a}^{b}\)的值,其实就是左式展开中的\(x^{b}\)的系数。而在右式中,等价于要知道\(x^{b_{k~}~p^{k}~ + ~b_{k - 1}~~p^{k - 1}~ + ~ \cdot \cdot \cdot ~ + ~b_{0}}\)的系数,即

\[C_{a_{k}}^{b_{k}} \cdot C_{a_{k - 1}}^{b_{k - 1}} \cdot ~ \cdot \cdot \cdot ~ \cdot C_{a_{0}}^{b_{0}} \]

其中,\(C_{a_{k}}^{b_{k}}\)为右式\(\left( {1 + x^{p^{k}}} \right)^{a_{k}}\)中\(\left( x^{p^{k}} \right)^{b_{k}}\)的系数,简单来说可以类比成\(C_{a}^{b}\)是\({\left( {1+x} \right)}^{a}\)展开式中\(x^b\)的系数,以此类推。因此有

\[C_{a}^{b} \equiv C_{a_{k}}^{b_{k}} \cdot C_{a_{k - 1}}^{b_{k - 1}} \cdot ~ \cdot \cdot \cdot ~ \cdot C_{a_{0}}^{b_{0}}~~\left( {mod~p} \right) \]

为了将上式转换为如下形式

\[C_{a}^{b} \equiv C_{a~mod~p}^{b~mod~p} \cdot C_{\lfloor{a/p}\rfloor}^{\lfloor{b/p}\rfloor}~~\left( {mod~p} \right) \]

我们先把

\[C_{a_{k}}^{b_{k}} \cdot C_{a_{k - 1}}^{b_{k - 1}} \cdot ~ \cdot \cdot \cdot ~ \cdot C_{a_{0}}^{b_{0}} \]

拆分成\(C_{a_{k}}^{b_{k}} \cdot C_{a_{k - 1}}^{b_{k - 1}} \cdot ~ \cdot \cdot \cdot ~ \cdot C_{a_{1}}^{b_{1}}\)和\(C_{a_{0}}^{b_{0}}\)这两部分。

  首先对于\(C_{a_{0}}^{b_{0}}\),其实它就等于\(C_{a~mod~p}^{b~mod~p}\),这是因为我们要得到某个数的\(p\)进制数,就要用\(p\)整除这个数,得到一个商和余数;再用\(p\)去除商,又得到一个商和余数,以此类推,直到商为小于\(p\)时为止。以\(a\)为例,把最先得到的余数作为\(p\)进制数的最低位有效位,也就是\(a_{0}\)。我们又知道\(a\)可以表述为这种形式\(a = \left\lfloor \frac{a}{p} \right\rfloor \cdot p + r\),这里的余数\(r\)正是对应于\(a_{0}\)。以此类推\(b\)也一样。

  然后就是\(C_{a_{k}}^{b_{k}} \cdot C_{a_{k - 1}}^{b_{k - 1}} \cdot ~ \cdot \cdot \cdot ~ \cdot C_{a_{1}}^{b_{1}}\)。试想一下,我们是通过把\(a\),\(b\)转换为\(p\)进制

\[\begin{align*} a &= a_{k}p^{k} + a_{k - 1}p^{k - 1} + \cdot \cdot \cdot + a_{0} \\\ b &= b_{k}p^{k} + b_{k - 1}p^{k - 1} + \cdot \cdot \cdot + b_{0} \end{align*} \]

进而推出

\[C_{a}^{b} \equiv C_{a_{k}}^{b_{k}} \cdot C_{a_{k - 1}}^{b_{k - 1}} \cdot ~ \cdot \cdot \cdot ~ \cdot C_{a_{0}}^{b_{0}}~~\left( {mod~p} \right) \]

现在我们把\(a\),\(b\)都右移\(1\)位,得到\(\left\lfloor \frac{a}{p} \right\rfloor\)和\(\left\lfloor \frac{b}{p} \right\rfloor\),对应的\(p\)进制就是

\[\begin{align*} \left\lfloor \frac{a}{p} \right\rfloor &= a_{k}p^{k - 1} + a_{k - 1}p^{k - 2} + \cdot \cdot \cdot + a_{1} \\\ \left\lfloor \frac{b}{p} \right\rfloor &= b_{k}p^{k - 1} + b_{k - 1}p^{k - 2} + \cdot \cdot \cdot + b_{1} \end{align*} \]

用类比的方法,我们就可以得到

\[C_{a_{k}}^{b_{k}} \cdot C_{a_{k - 1}}^{b_{k - 1}} \cdot ~ \cdot \cdot \cdot ~ \cdot C_{a_{1}}^{b_{1}} \equiv C_{\lfloor{a/p}\rfloor}^{\lfloor{b/p}\rfloor}~~\left( {mod~p} \right) \]

事实上这是正确的,我们可以从\(C_{\lfloor{a/p}\rfloor}^{\lfloor{b/p}\rfloor}\)入手分析,方法与上面分析\(C_{a}^{b}\)的一样(这也暗示我们可以用递归来求解),同样会得到

\[C_{\lfloor{a/p}\rfloor}^{\lfloor{b/p}\rfloor} \equiv C_{a_{k}}^{b_{k}} \cdot C_{a_{k - 1}}^{b_{k - 1}} \cdot ~ \cdot \cdot \cdot ~ \cdot C_{a_{1}}^{b_{1}}~~\left( {mod~p} \right) \]

因此,有

\[C_{a}^{b} \equiv C_{a_{k}}^{b_{k}} \cdot C_{a_{k - 1}}^{b_{k - 1}} \cdot ~ \cdot \cdot \cdot ~ \cdot C_{a_{0}}^{b_{0}} \equiv C_{a~mod~p}^{b~mod~p} \cdot C_{\lfloor{a/p}\rfloor}^{\lfloor{b/p}\rfloor}~~\left( {mod~p} \right) \]

定理得证。

标签:lfloor,right,cdot,定理,笔记,equiv,卢卡斯,mod,left
From: https://www.cnblogs.com/lewisak/p/18502582

相关文章

  • FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
    ijkplayer是一款由B站研发的移动端国产播放器,它基于FFmpeg3.4版本,同时兼容Android和iOS两大移动操作系统。ijkplayer的源码托管地址为https://github.com/bilibili/ijkplayer,截止2024年9月15日,ijkplayer获得3.24万星标数,以及0.81万个分支数,而这还是ijkplayer停止更新6年之后的数据,......
  • 2024年软件设计师中级(软考中级)详细笔记【7】面向对象技术(上)(分值10+)
    目录前言第7章面向对象技术(上)7.1面向对象基础(3-4分)7.1.1面向对象的基本概念7.1.2面向对象分析(熟记)7.1.3面向对象设计7.1.4面向对象程序设计7.1.5面向对象测试7.2UML(3~4分)7.2.1事务7.2.2关系7.2.2.1多重度7.2.3UML中的的图结语前言在备考软件设......
  • 《代码大全2》读书笔记2
    第五章软件构建的设计中,作者首先阐释了“软件设计”是指构思、发明或设计将计算机软件规范变成可工作的软件的一种方案。设计是一个棘手的问题,人总是在试卷答完之后认为自己的成绩很好,实际上90%的情况是错一部分,不管这个错是大是小,总归是有错的。塔科马海峡桥是一个经典例子,在修建......
  • 最短路算法笔记
    最短路算法最短路算法可大致分为三类:无负权边的单源最短路,有负权边的单源最短路和多源汇最短路dijkstra算法dijkstra算法是求无负权边的单源最短路的常用算法,基于贪心的思想其过程大致为:找到距离已经确定最短路的连通块的最近的点把他加入已经确定最短路的连通块用这个......
  • CodeQL学习笔记(1)-QL语法(逻辑连接词、量词、聚合词、谓词和类)
    最近在学习CodeQL,对于CodeQL就不介绍了,目前网上一搜一大把。本系列是学习CodeQL的个人学习笔记,根据个人知识库笔记修改整理而来的,分享出来共同学习。个人觉得QL的语法比较反人类,至少与目前主流的这些OOP语言相比,还是有一定难度的。与现在网上的大多数所谓CodeQL教程不同,本系列基于......
  • [NOI 2018] 屠龙勇士 做题笔记
    传送门前言我是唐诗,考场没开这题。导致看都没看,直接考试策略大失误。其实知道了这题是个扩展中国剩余定理之后就很好做了。题意非常奇妙。小D最近在网上发现了一款小游戏。游戏的规则如下:游戏的目标是按照编号\(1\rightarrown\)顺序杀掉\(n\)条巨龙,每条巨龙拥有一......
  • C#学习笔记(十一)
    C#学习笔记(十一)第八章垃圾回收机制GC与类的静态方法一、垃圾回收机制GC1.对象如何被销毁的二、类的静态方法1.静态方法的使用2.为什么会报错2.1静态方法定义中的报错2.2方法使用中的报错3.什么情况下用静态第八章垃圾回收机制GC与类的静态方法一、垃圾......
  • 博弈论学习笔记【施工中】
    SG函数首先定义就不用我讲了吧,还不会的自己查下看看。我们主要想把SG函数这个玄妙的东西的运用搞清楚。再进一步理解一下吧:黑色数字是节点编号,红色是SG函数值看下它的过程:首先5和6没有后继节点,为必败态,先赋值为03只有6一个后继节点,计算得1现在我们已经得......
  • wireshark学习笔记
    wireshark学习笔记从一道面试题开始ApingB理论分析注意:通过MAC判断--1单播,2组播,3广播,手动修改MAC时不允许修改成组播或广播。十六进制0x0b转为二进制时为11A需要判断B是否和它是一个网段A通过自己的掩码判断自己的网段是192.168.26.0/24,用自己的掩码与B主机的IP地址......
  • [学习笔记] 贪心
    写在前面参考《算法竞赛进阶指南》贪心部分(在[“基础算法”](?)那一部分)。(有些是直接抄的这本书上的。)XK给我们讲课的[课件](?)。2024.10.23模拟赛T2及其题解。(目前是这些)之后应该还有今年暑假集训时的贪心PPT。关于本文中“贪心”的含义本文所言的贪心是“广义”的,即不一......