牛客多校第五场 C Easy
Easy
https://ac.nowcoder.com/acm/contest/5670/C
题意
a是和为N的序列,b是何为M的序列,
求在所有情况下的P的和
题解
构造母函数
容易得答案为的
的系数
现在开始搞母函数
前方多公式高能
然后用二项式定理展开
要求此时的系数,枚举xy的数量,用x, y来补齐即可
int fac[Ma], fiv[Ma];
void init() {
fac[0] = fiv[0] = fac[1] = fiv[1] = 1;
for (int i = 2; i < Ma; i++)
fac[i] = (ll)fac[i - 1] * i % mod,
fiv[i] = (ll)(mod - mod / i) * fiv[mod % i] % mod;
for (int i = 1; i < Ma; i++)
fiv[i] = (ll)fiv[i] * fiv[i - 1] % mod;
}
int C(int n, int m) {
return (ll)fac[n] * fiv[m] % mod * fiv[n - m] % mod;
}
signed main() {
#if SYNC==0
ios::sync_with_stdio(false);
cin.tie(0);
#endif
init();
int T; cin >> T;
while (T--) {
int n, m, k; cin >> n >> m >> k;
if (n > m) swap(n, m);
ll ans = 0;
for (int i = 0; i <= n - k; i++) {
int a = n - k - i, b = m - k - i;
(ans += (ll)C(k + i - 1, i) * C(k + a - 1, a) % mod * C(k + b - 1, b) % mod)
%= mod;
}
cout << ans << endl;
}
return 0;
}
查看6道真题和解析