牛客多校第五场 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; }