题目描述
给定一个多项式\((by+ax)^k\),请求出多项式展开后\(x^n \times y^m\)项的系数。
解析
一道水题,二项式定理搞定。注意递推组合数时对其取模。
参考代码
#include<cstdio> #include<iostream> #include<cmath> #include<cstring> #include<ctime> #include<cstdlib> #include<algorithm> #include<queue> #include<set> #include<map> #define ll long long #define N 1010 #define mod 10007 using namespace std; ll C[N][N],a,b,n,m,k; inline void init() { for(int i=1;i<=k;++i) C[i][i]=C[i][0]=1; for(int i=1;i<=k;++i) for(int j=i+1;j<=k;++j) C[j][i]=(C[j-1][i]%mod+C[j-1][i-1]%mod)%mod; } inline ll qp(ll a,ll b,ll p) { ll ans=1; for(;b;b>>=1){if(b&1) ans=(ans%p*a%p)%p;a=(a%p*a%p)%p;} return ans; } int main() { scanf("%lld%lld%lld%lld%lld",&a,&b,&k,&n,&m); init(); printf("%lld\n",(qp(a,n,mod)%mod*qp(b,m,mod)%mod*C[k][m]%mod)%mod); return 0; }