<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Lucas定理入門

      前置結(jié)論

      如果 \(p\) 為素數(shù),有以下結(jié)論:

      1. \(a^p \equiv a \pmod p\)
        即費馬小定理

      2. \[C_{p}^i \equiv \begin{cases} 1 & i=0 或者 i=p \\ 0 & 其他情況 \end{cases} \pmod p \]

      證明可以展開

      1. \((a+b)^p \equiv a^p + b^p \pmod p\)
        證明1:用結(jié)論1

        \[\begin{aligned} (a+b)^p &\equiv a+b \\ &\equiv a^p + b^p \pmod p \end{aligned} \]

        證明2:用結(jié)論2 和 二項式定理

        \[\begin{aligned} (a+b)^p &\equiv \sum_{i=0}^{p} C_{p}^{i} \times a^i \times b^{p-i} \\ &\equiv a^p + b^p \pmod p \end{aligned} \]


      Lucas定理

      內(nèi)容

      $ C_{n}^{m} \equiv C_{\lfloor \frac{n}{p} \rfloor} ^{\lfloor \frac{m}{p} \rfloor} \cdot C_{n \bmod p}^{m \bmod p} \pmod p \text{ p 是 質(zhì)數(shù)}$

      用途

      當(dāng)質(zhì)數(shù) \(p\) 較小時,求解組合數(shù)在模意義下的值


      證明

      二項式定理得:\(C_n^m\) 等于 \((x+1)^n\) 展開后 \(x^m\) 的系數(shù)

      \[\begin{aligned} (x+1)^n &\equiv (x+1)^{\lfloor \frac{n}{p} \rfloor \times p + n \bmod p} \\&\equiv (x+1)^{\lfloor \frac{n}{p} \rfloor \times p} \cdot (x+1)^{n \bmod p} \\&\equiv (x^p + 1)^{\lfloor \frac{n}{p} \rfloor} \cdot (x+1)^{n \bmod p} \end{aligned} \]

      所以 \((x+1)^n\) 展開后 \(x^m\) 的系數(shù) = \(\sum (x^p + 1)^{\lfloor \frac{n}{p} \rfloor}\)展開后\(x^{m-r}\)的系數(shù) \(\times (x+1)^{n \bmod p}\)展開后 \(x^r\) 的系數(shù)

      容易得到 \(r \le n\bmod p < p\) 并且 \(p \mid (m-r)\) , 也就是說 \(m\) 可以寫成 \(m=k \times p + r , r<p\) 的形式,根據(jù)帶余除法可知這種表示是唯一的,即只有一個唯一的 \(r\)\(k\) ,其中 $r = m \bmod p,k = \lfloor \frac{m}{p} \rfloor $

      所以$ C_{n}^{m} \equiv C_{\lfloor \frac{n}{p} \rfloor} ^{\lfloor \frac{m}{p} \rfloor} \cdot C_{n \bmod p}^{m \bmod p} \pmod p$


      代碼實現(xiàn)

      【模板】盧卡斯定理/Lucas 定理

      #include<bits/stdc++.h>
      #define int long long 
      using namespace std;
      const int N=2e5+5;
      inline int read(){
          int w = 1, s = 0;
          char c = getchar();
          for (; c < '0' || c > '9'; w *= (c == '-') ? -1 : 1, c = getchar());
          for (; c >= '0' && c <= '9'; s = 10 * s + (c - '0'), c = getchar());
          return s * w;
      }
      int T,n,m,p;
      int fac[N],inv[N],q[N];
      int C(int n,int m){
      	if(m>n) return 0;
      	return fac[n]*q[m]%p*q[n-m]%p;
      }
      int Lucas(int n,int m){
      	if(!m) return 1;
      	return C(n%p,m%p)*Lucas(n/p,m/p)%p;
      }
      signed main(){
      //	freopen(".in","r",stdin);
      //	freopen(".out","w",stdout);
      	T=read();
      	while(T--){
      		n=read(),m=read(),p=read();
      		fac[0]=1;
      		for(int i=1;i<p;i++) fac[i]=fac[i-1]*i%p;
      		inv[1]=1;
      		for(int i=2;i<p;i++) inv[i]=inv[p%i]*(p-p/i)%p;
      		q[0]=1;
      		for(int i=1;i<p;i++) q[i]=q[i-1]*inv[i]%p;
      		n=n+m;
      		printf("%lld\n",Lucas(n,m));
      	}
      	return 0;
      }
      
      

      拓展

      考慮 \(m,n\)\(p\) 進制下的表示,就會發(fā)現(xiàn) \(C^m_n\) 就等于 \(m,n\)\(p\) 進制下每一位對應(yīng)的組合數(shù)的乘積( \(\bmod\)操作就是取最后一位,\(\lfloor \rfloor\)就是左移一位 ) 。

      特殊的,當(dāng) \(p=2\) 時,組合數(shù)有值當(dāng)且僅當(dāng) \(m\)\(n\) 的子集
      此時就很高維前綴和 (關(guān)于高維前綴和的知識看這)

      posted @ 2024-09-02 19:05  Green&White  閱讀(84)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 日本久久99成人网站| 日韩国产欧美精品在线 | 国产精品美女久久久| 亚洲国产午夜精品福利| 麻豆精品一区二区三区蜜臀| 国产盗摄xxxx视频xxxx| 欧美国产日产一区二区| 日韩深夜福利视频在线观看| 少妇夜夜春夜夜爽试看视频| 国产尤物精品自在拍视频首页| 国产精品女视频一区二区| 天天躁日日躁狠狠躁2018| а天堂中文最新一区二区三区 | 中文精品无码中文字幕无码专区| 国内不卡一区二区三区| 亚洲中少妇久久中文字幕| 久久96热在精品国产高清| 99精品热在线在线观看视| 少妇人妻av毛片在线看| 色吊丝一区二区中文字幕| 国产精品成人午夜福利| 亚洲青青草视频在线播放| AV毛片无码中文字幕不卡| h动态图男女啪啪27报gif| 国产综合视频一区二区三区| 丁香花在线影院观看在线播放| 综合色天天久久| 国模一区二区三区私拍视频| 国产成人综合久久精品下载| 精品人妻av区乱码| 亚洲最大色综合成人av| 色哟哟www网站入口成人学校| 亚洲一区二区三区激情在线| 国产片AV国语在线观看手机版| 99riav国产精品视频| 日韩区一区二区三区视频| 欧美精品在线观看视频| 久久一日本道色综合久久| 国内精品久久久久影院网站| 久久99热只有频精品8| 人妻精品中文字幕av|