組合數
表示的是從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輸出樣例#1:3 3
1輸入樣例#2:
2 5輸出樣例#2:4 56 7
0【樣例1說明】7
在所有可能的情況中,只有
是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 #include23int 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 的位置權值...