LGP1313 题解

考察二项式定理的基本应用。

正解

发现存在式子 (ax+by)k,容易想到二项式定理。

二项式定理:

(x+y)n=i=0n(ni)xiyni

p=ax,q=by,那么原式变为 (p+q)k

那么此时 pn×qm 的系数为 (kn)

这一项即为:

(kn)pnqm=((kn)anbm)xnym

综上,系数就是 (kn)anbm

(kn) 有很多种方法求解,这里使用公式法

代码

#include <bits/stdc++.h>
#define int long long
const int MOD = 10007;
const int N = 1e3 + 10;

int a, b, k, n, m, fact[N], inv_fact[N];

int qpow(int a, int b) {
  int ans = 1;
  a %= MOD;
  for (; b; b >>= 1) {
    if (b & 1) (ans *= a) %= MOD;
    (a *= a) %= MOD;
  }
  return ans;
}

void init() { // 预处理
  fact[0] = inv_fact[0] = 1;
  for (int i = 1; i <= k; ++i) {
    fact[i] = fact[i - 1] * i % MOD;
    inv_fact[i] = inv_fact[i - 1] * qpow(i, MOD - 2) % MOD;
  }
}

int C(int n, int m) {
  if (m > n) return 0;
  if (m == n) return 1;
  return fact[n] * inv_fact[m] % MOD * inv_fact[n - m] % MOD;
}

signed main() {
  std::cin >> a >> b >> k >> n >> m, init();
  std::cout << C(k, n) * qpow(a, n) % MOD * qpow(b, m) % MOD << std::endl;
  return 0;
}
posted @   OIer_wst  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
init();
点击右上角即可分享
微信分享提示