數論之組合數取模

2021-08-06 07:32:13 字數 844 閱讀 4751

組合數取模:cm

n % p

三個鏈結表示的是該種方法的定理定義之類的~怕三種方法合在一起太長(ノ`д)ノ

一、楊輝三角打表求組合數——1≤m≤n≤1000,1≤p≤109

int combination(int n)  

} return

0;

}

二、乘法逆元來直接求組合數——n,m不大於10^5

其中三種求逆元方法及模板請戳藍↑~

三、lucas定理求組合數——n,m大於10^5並且p是素數

lucas定理處理比較大的數。

long

long pow(long

long

a,long

long b)

b>>=1;

a=(a*a)%p;

}

return ans;

}

long

long c(long

long n,long

long m)

return (a*pow(b,p-2))%p;

}

long

long lucas(long

long n,long

long m)

ps:

組合數好像大部分都是高中的知識○| ̄|_

啊啊啊就不該讓強迫症來寫部落格啊摔!

組合數取模

複習了一下組合數取模,當然推薦檢視acdreamer的部落格啦,寫的確實好啦,自己把裡面的題目全a掉了。include include include include include include include using namespace std typedef long long ll l...

組合數取模

對於c n,m mod p。這裡的n,m,p p為素數 都很大的情況。就不能再用c n,m c n 1,m c n 1,m 1 的公式遞推了。這裡用到lusac定理 for non negative integers m and n and a prime p,the following congr...

組合數取模

組合數c m,n 表示在m個不同的元素中取出n個元素 不要求有序 產生的方案數。定義式 c m,n m n m n 並不會使用latex qaq 根據題目中對組合數的需要,有不同的計算方法。運用乙個數學上的組合恒等式 oi中稱之為楊輝三角 c m,n c m 1,n 1 c m 1,n 證明 1.直...