P2822 組合數問題

2022-04-06 23:19:05 字數 1113 閱讀 3129

組合數

表示的是從n個物品中選出m個物品的方案數。舉個例子,從(1,2,3) 三個物品中選擇兩個物品可以有(1,2),(1,3),(2,3)這三種選擇方法。根據組合數的定 義,我們可以給出計算組合數的一般公式:

其中n! = 1 × 2 × · · · × n

小蔥想知道如果給定n,m和k,對於所有的0 <= i <= n,0 <= j <= min(i,m)有多少對 (i,j)滿足

是k的倍數。

輸入格式:

第一行有兩個整數t,k,其中t代表該測試點總共有多少組測試資料,k的意義見 【問題描述】。

接下來t行每行兩個整數n,m,其中n,m的意義見【問題描述】。

輸出格式:

t行,每行乙個整數代表答案。

輸入樣例#1:

1 2

3 3

輸出樣例#1:

1
輸入樣例#2:

2 5

4 56 7

輸出樣例#2:

0

7

【樣例1說明】

在所有可能的情況中,只有

是2的倍數。

【子任務】

公式:c[i][j] = c[i-1][j]+c[i-1][j-1]

再加上二維字首和。

解釋一下這裡字首和的表達的意思:因為我們求出的 c 已經 mod k 所以如果 c==0 表示能被 k 整除。

s[i][j] = s[i-1][j]+s[i][j-1]-[i-1][j-1],這個像矩陣一樣,其實就是矩陣字首和,可以畫一下矩陣試試。

1 #include2

3int c[2010][2010];4

int s[2010][2010];5

intt,n,m,k;67

intmain()

821 s[i][i] = s[i][i-1

];22

if(c[i][i]==0) s[i][i]++;23}

24while(t--)

2530 }

P2822 組合數問題

題目描述 組合數c n mc n m 表示的是從n個物品中選出m個物品的方案數。舉個例子,從 1,2,3 三個物品中選擇兩個物品可以有 1,2 1,3 2,3 這三種選擇方法。根據組合數的定 義,我們可以給出計算組合數的一般公式 c n m m n m n 其中n 1 2 n 不清楚不要怪我,暫時找...

P2822 組合數問題

小蔥想知道如果給定 n,m 和 k,對於所有的 0 i n,0 j min i,m 有多少對 i,j i,j 滿足 ci取j 是 k 的倍數。輸入格式 第一行有兩個整數 t,kt,k,其中 tt 代表該測試點總共有多少組測試資料,k 的意義見問題描述。接下來 tt 行每行兩個整數 n,m,其中 n,...

P2822組合數問題

題目鏈結 眾所周知,小蔥同學擅長計算,尤其擅長計算組合數。而且這道題與組合數有關係。乍一看什麼思路沒有,硬想柿子想了半小時。不知道結論,wtcl。後來打表發現規律,發現是個非常水的規律題,然後5min寫完 3min調 交上去ac了。題外話 自己寫的快讀掛了。模 k 下的楊輝三角,值為 0 的位置權值...