組合數(楊輝三角)

2021-08-22 08:17:14 字數 745 閱讀 6036

原來組合數和楊輝三角是有關係的:

楊輝三角上的每乙個數字都等於它的左上方和右上方的和(除了邊界)

第n行,第m個就是,就是c(n, m) (從0開始)

所以以後求楊輝三角或者組合數都可以用到下面的遞推公式:

#includeconst int n = 2000 + 5;

const int mod = (int)1e9 + 7;

int comb[n][n];//comb[n][m]就是c(n,m)

void init()

}}int main()

不過這個是o(n^2),有沒有更簡單的呢?肯定有,因為我們學了逆序數,所以我們可以直接求解:

#includeconst int n = 200000 + 5;

const int mod = (int)1e9 + 7;

int f[n], finv[n], inv[n];//f是階乘,finv是逆元的階乘

void init()

f[0] = finv[0] = 1;

for(int i = 1; i < n; i ++)

}int comb(int n, int m)

int main()

參考自:感謝大佬的知識分享。

組合數 楊輝三角

不難想到,我們可以用二維陣列來實現。上 include intmain i,j scanf d n for i 1 i n i a i 1 1 for i 2 i n i for i 1 i n i printf n return0 這樣我們實現了楊輝三角。更近一步,我們得到 用遞迴的辦法來實現也可...

楊輝三角與組合數

相信大部分oier已經對楊輝三角很熟悉了,我第一次做楊輝三角的時候是剛學完for迴圈,有一道題是列印楊輝三角的,那時起,我就對這個幾何圖形的構造方式充滿了興趣。最近,在老師的引導下,我學習了有關楊輝三角的乙個小秘密。本文將簡單介紹楊輝三角與組合數之間的聯絡。如果將 a b n a b n a b n...

楊輝三角(組合數) 排列組合

一道虐我的數學題,今天太累了,就簡單聊聊思想核心 題目如下 特斯拉公司的六位密碼被輕鬆破解後,引發了人們對電動車的安全效能的懷疑。李華聽聞後,自己設計了一套密碼 假設安全系統中有n個儲存區,每個儲存區最多能儲存存2個種類不同的訊號 可以不儲存任何訊號 有0和1這兩種訊號,其中0有a個,1有b個,單獨...