• 洛谷P1313 [NOIP2011]计算系数


    题目描述

    给定一个多项式(by+ax)^k,请求出多项式展开后x^n y^m项的系数。

    输入格式

    共一行,包含55个整数,分别为a ,b ,k ,n ,m每两个整数之间用一个空格隔开。

    输出格式

    共1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007 取模后的结果。

    题解:根据二项式定理 x^n y^m 的系数为 C[k][n]*a^n*b^m,所以组合数+快速幂即可。

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<cstring>
     4 #include<algorithm>
     5 #define maxn 1010
     6 #define mod 10007
     7 
     8 using namespace std;
     9 
    10 int a,b,k,n,m;
    11 long long c[maxn][maxn];
    12 
    13 inline int quick_pow(int x,int y)
    14 {
    15     if(y==1) return x%mod;
    16     int t=quick_pow(x,y/2);
    17     if(y%2==0) return t%mod*t%mod;
    18     else return x%mod*t%mod*t%mod;
    19 }
    20 
    21 int main()
    22 {
    23     scanf("%d%d%d%d%d",&a,&b,&k,&n,&m);
    24     c[1][0]=1; c[1][1]=1;
    25     for(register int i=2;i<=k;++i)
    26     {
    27         c[i][0]=c[i][i]=1;
    28         for(register int j=1;j<i;++j)
    29             c[i][j]=(c[i-1][j]+c[i-1][j-1])%mod;
    30     }
    31     printf("%d",(quick_pow(a,n)*quick_pow(b,m)*c[k][n])%mod);
    32     return 0;
    33 } 
  • 相关阅读:
    mysql install steps
    d3js
    js布局库
    mac 学习笔记
    js图形库
    zeromq 笔记
    C语言程序员必读的5本书
    Java基础
    JS中的toString方法
    给你六种面额1 5 10 20 50 100元的纸币假设每种币值的数量足够多
  • 原文地址:https://www.cnblogs.com/Hoyoak/p/11595550.html
Copyright © 2020-2023  润新知