題面
由於要求對k取模為0的值,所以我們遞推求組合數時一直對k取模就行了
然後算出二維字首和,o(n^2)預處理,o(1)回答。bzoj上和這個不太一樣,
那個是要盧卡斯定理。
#include
#define ll long long
using
namespace
std;
const
int maxn = 2005;
inline
int rd()
while(ch>='0' && ch<='9')
return x*f;
}int n,m,t,k;
ll ans[maxn][maxn];
ll c[maxn][maxn];
int main()
ans[i][i+1]=ans[i][i]; //注意此處,因為ans[i][j]要被
} //ans[i-1][j]更新,當i=j時i比j小
for(register
int i=1;i<=t;i++)
return
0;}
luogu P2822 組合數問題
題面傳送門 對於這道題,其實題目很簡單,暴力很好打。想法1 11 對於每組輸入資料,暴力判斷兩重迴圈列舉,一重迴圈計算組合數。時間複雜度o t n3 o tn 3 o tn3 大概30 3030 分想法2 22 把每組數的組合存下來,直接呼叫。時間複雜度o t n2 o tn 2 o tn2 大概3...
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,...