試題描述
組合數 \(c_n^m\) 表示的是從 \(n\) 個物品中選出 \(m\) 個物品的方案數。舉個例子,從 \((1,2,3)\) 三個物品中選擇兩個物品可以有 \((1,2),(1,3),(2,3)\) 這三種選擇方法。根據組合數的定義,我們可以給出計算組合數 \(c_n^m\) 的一般公式:
\begin
c_n^m=\frac
\notag
\end
其中 \(n!=1 \times 2 \times \cdots \times n\)。(額外的,當 \(n=0\) 時, \(n!=1\))
小蔥想知道如果給定 \(n,m\) 和 \(k\),對於所有的 \(0 \le i \le n,0 \le j \le min(i,m)\) 有多少對 \((i,j)\) 滿足 \(c_i^j\) 是 \(k\) 的倍數。
答案對 \(10^9+7\) 取模。
輸入第一行有兩個整數 \(t,k\),其中 \(t\) 代表該測試點總共有多少組測試資料。
接下來 \(t\) 行每行兩個整數 \(n,m\)。
輸出\(t\) 行,每行乙個整數代表所有的 \(0 \le i \le n,0 \le j \le min(i,m)\) 中有多少對 \((i,j)\) 滿足 \(c_i^j\) 是 \(k\) 的倍數。
輸入示例1
1 2
3 3
輸出示例11
輸入示例22 5
4 56 7
輸出示例20
7
輸入示例33 23
23333333 23333333
233333333 233333333
2333333333 2333333333
輸出示例3851883128
959557926
680723120
資料規模及約定
對於 \(20\texttt\) 的測試點,\(1 \le n,m \le 100\);
對於另外 \(15\texttt\) 的測試點,\(n \le m\);
對於另外 \(15\texttt\) 的測試點,\(k=2\);
對於另外 \(15\texttt\) 的測試點, \(m \le 10\);
對於 \(100\texttt\) 的測試點, \(1 \le n,m \le 10^,1 \le t,k \le 100\),且 \(k\) 是乙個質數。
題解千萬不要忘了 \(k\) 是乙個質數!!!
這題用 lucas 定理,即 \(c_n^m\ mod\ p = c_^ \cdot c_\rfloor}^\rfloor}\ mod\ p\),那麼就不難想到把 \(n\) 和 \(m\) 變成 \(k\) 進製數然後數字 dp 了。
#include #include #include #include #include #include using namespace std;
#define ll long long
#define rep(i, s, t) for(int i = (s); i <= (t); i++)
#define dwn(i, s, t) for(int i = (t); i >= (s); i--)
ll read()
while(isdigit(c))
return x * f;
}#define maxn 61
#define maxk 102
#define mod 1000000007
int t, k, c[maxk][maxk];
struct num
num(ll _): val(_)
} n, m;
int f[maxn][2][2][2][2];
void add(int& a, int b)
void dp()
int main()
} while(t--)
return 0;
}
UOJ275 清華集訓2016 組合數問題
組合數 cm n cnm 表示的是從 n n 個物品中選出 m role presentation style position relative m m個物品的方案數。舉個例子,從 1 2,3 1,2,3 三個物品中選擇兩個物品可以有 1 2 1,3 2 3 1,2 1,3 2,3 這三種選擇方法...
UOJ 275 清華集訓2016 組合數問題
組合數 c n m 表示的是從 n 個物品中選出 m 個物品的方案數。舉個例子,從 1,2,3 1,2,3 三個物品中選擇兩個物品可以有 1,2 1,3 2,3 這三種選擇方法。根據組合數的定義,我們可以給出計算組合數 c m n 的一般公式 c n m frac 其中 n 1 2 n 額外的,當 ...
UOJ 275 最短路徑問題
題目描述 平面上有n個點,每個點的座標均在 10000 10000之間。其中的一些點之間有連線。若有連線,則表示可從乙個點到達另乙個點,即兩點間有通路,通路的距離為兩點間的直線距離。現在的任務是找出從一點到另一點之間的最短路徑。輸入描述 輸入檔案共n m 3行,其中 第一行為整數n。第2行到第n 1...