首页 > 其他 > 详细

就算系数:求二项式展开的系数:线性推逆元+求组合数

时间:2019-03-28 13:37:41      阅读:198      评论:0      收藏:0      [点我收藏+]
#include<bits/stdc++.h>
using namespace std;
#define mod 10007
int inv[10008];
int f[3005],invf[3005];//阶乘,阶乘逆元 
void init(){ 
    inv[0]=inv[1]=1;//线性逆元打表 
    for(int i=2;i<=10006;i++){
        inv[i]=(mod-mod/i)*inv[mod%i]%mod;
    }
    f[0]=f[1]=1,invf[0]=invf[1]=1;//阶乘以及阶乘打表 
    for(int i=2;i<=1005;i++){
        f[i]=f[i-1]*i%mod;
        invf[i]=invf[i-1]*inv[i]%mod;
    } 
}
int a,b,k,n,m;
int Pow(int a,int n){
    int res=1;
    while(n){
        if(n%2)res=(long long)res*a%mod;
        n>>=1;a=(long long)a*a%mod;
    }
    return res;
}
int C(int k,int n){
    return (f[k]*invf[n]%mod)*invf[k-n]%mod;
}
int main(){
    init();
    cin>>a>>b>>k>>n>>m;
    int t1=Pow(a,n);
    int t2=Pow(b,m);
    int t3=C(k,n); 
    cout<<(t1*t2%mod)*t3%mod;
} 

 

就算系数:求二项式展开的系数:线性推逆元+求组合数

原文:https://www.cnblogs.com/zsben991126/p/10614120.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!