P1313 计算系数[二项式定理]

╄→гoц情女王★ 提交于 2019-11-26 22:54:38

题目描述

给定一个多项式\((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;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!