zoukankan      html  css  js  c++  java
  • [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
  • 相关阅读:
    javascript与CSS复习(《精通javascript》)
    javascript改进表单
    javascript与CSS复习(三)
    javascript dom代码应用:简单的相册
    重新发明轮子之Draggable Elements
    《精通javascript》5,6章复习(三)
    我的JAVA之旅(五)继承
    全面学习DBMS包之UTL_FILE
    想法
    生活在上海
  • 原文地址:https://www.cnblogs.com/chadinblog/p/5939865.html
Copyright © 2011-2022 走看看