• [NOIP2011提高组day2]-1-计算系数


    1.计算系数 
    (factor.cpp/c/pas) 
    【问题描述】 
    k n m
    给定一个多项式(ax+by)^k ,请求出多项式展开后(x^n)*(y^m)项的系数。 
    【输入】 
    输入文件名为 factor.in。 
    共一行,包含 5 个整数,分别为 a,b,k,n,m,每两个整数之间用一个空格隔开。 
    【输出】 
    输出文件名为 factor.out。 
    输出共 1 行,包含一个整数,表示所求的系数,这个系数可能很大,输出对 10007 取
    模后的结果。 

    【输入输出样例】 
    factor.in  
    1 1 3 1 2 
    factor.out


    【数据范围】 
    对于 30%的数据,有 0≤k≤10; 
    对于 50%的数据,有 a = 1,b = 1; 
    对于 100%的数据,有 0≤k≤1,000,0≤n, m≤k,且 n + m = k,0≤a,b≤1,000,000。

     

    二项式系数:

    是解决这道题的最直接方法;

    很容易得出ans=a^n*b^m*c(k,m)

    #include<iostream>
    #include<cstring>
    #include<cstdio>
    #include<cstdlib>
    #include<algorithm>
    #include<iomanip>
    #include<map>
    #include<set>
    #include<vector>
    #include<ctime>
    #include<cmath>
    #define LL long long 
    using namespace std;
    #define LL long long 
    #define up(i,j,n) for(int i=(j);(i)<=(n);(i)++)
    #define max(x,y) ((x)<(y)?(y):(x))
    #define min(x,y) ((x)<(y)?(x):(y))
    #define FILE "1"
    const int maxn=1010,mod=10007;
    int a,b,k,n,m;
    int c[maxn][maxn];
    namespace OI{
        void init(){scanf("%d%d%d%d%d",&a,&b,&k,&n,&m);}
        int getc(int d){
            if(d>k-d)d=k-d;
            for(int i=1;i<=k;i++){
                c[i][0]=1;
                for(int j=1;j<=d&&j<=i;j++){
                    if(!c[i][i-j])c[i][j]=(c[i-1][j]+c[i-1][j-1])%mod;
                    else c[i][j]=c[i][i-j];
                }
                    
            }
            return c[k][d];
        }
        void slove(){
            init();
            a%=mod,b%=mod;
            LL ans=1;
            up(i,1,n)ans=ans*a%mod;
            up(i,1,m)ans=ans*b%mod;
            ans=ans*getc(m)%mod;
            cout<<ans<<endl;
        }
    }
    
    int main(){
        using namespace OI;
        slove();
    }
    View Code
  • 相关阅读:
    IIS与ASP.NET管道
    20个非常棒的jQuery倒计时脚本
    GitHub托管BootStrap资源汇总(持续更新中…)
    推荐13款优秀的Twitter Bootstrap JavaScript插件
    C#程序开发中经常遇到的10条实用的代码
    20款jQuery 的音频和视频插件
    给 C# 开发者的代码审查清单
    Bootstrap 3.0正式版发布!
    为你带来灵感的 20 个 HTML5/CSS3 模板
    通过一个模拟程序让你明白ASP.NET MVC是如何运行的
  • 原文地址:https://www.cnblogs.com/chadinblog/p/5939865.html
Copyright © 2020-2023  润新知