zoukankan      html  css  js  c++  java
  • 一本通1648【例 1】「NOIP2011」计算系数

    1648: 【例 1】「NOIP2011」计算系数

    时间限制: 1000 ms         内存限制: 524288 KB

    【题目描述】

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

    【输入】

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

    【输出】

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

    【输入样例】

    1 1 3 1 2

    【输出样例】

    3

    【提示】

    数据范围与提示

    对于30% 的数据,有 k10

    对于50% 的数据,有 a=1,b=1;

    对于100% 的数据,有 0n,mk,且 n+m=k0a,b106

    sol:这题应该挺容易的吧,可以用杨辉三角求出当a=1,b=1时xnym的系数,其实就是C(k,n)即C(n+m,n)

    如果有a,b的话,很显然就是把C(n+m,n)乘上anbm

    /*
    1
    1 1
    1 2 1
    1 3 3 1
    1 4 6 4 1
    */
    #include <bits/stdc++.h>
    using namespace std;
    typedef int ll;
    inline ll read()
    {
        ll s=0;
        bool f=0;
        char ch=' ';
        while(!isdigit(ch))
        {
            f|=(ch=='-'); ch=getchar();
        }
        while(isdigit(ch))
        {
            s=(s<<3)+(s<<1)+(ch^48); ch=getchar();
        }
        return (f)?(-s):(s);
    }
    #define R(x) x=read()
    inline void write(ll x)
    {
        if(x<0)
        {
            putchar('-'); x=-x;
        }
        if(x<10)
        {
            putchar(x+'0');    return;
        }
        write(x/10);
        putchar((x%10)+'0');
        return;
    }
    #define W(x) write(x),putchar(' ')
    #define Wl(x) write(x),putchar('
    ')
    const int Mod=10007;
    const int N=1005;
    ll Jiec[N];
    inline ll Ksm(ll x,ll y)
    {
        x%=Mod;
        ll ans=1;
        while(y)
        {
            if(y&1) ans=ans*x%Mod;
            x=x*x%Mod;
            y>>=1;
        }
        return ans;
    }
    inline ll C(ll n,ll m)
    {
        return Jiec[n]*Ksm(Jiec[m],Mod-2)%Mod*Ksm(Jiec[n-m],Mod-2)%Mod;
    }
    int main()
    {
        int i,j;
        int a,b,k,n,m;
        R(a); R(b); R(k); R(n); R(m);
        Jiec[0]=1;
        for(i=1;i<=k;i++) Jiec[i]=Jiec[i-1]*i%Mod;
        Wl(Ksm(a,n)*Ksm(b,m)%Mod*C(n+m,n)%Mod);
        return 0;
    }
    /*
    input
    1 1 323 123 200
    output
    325
    
    input
    5 8 7 3 4
    output
    7470
    
    input
    123123 312321 900 400 500
    output
    817
    */
    View Code
  • 相关阅读:
    福州3中集训day5
    福州三中集训day4
    福州三中集训day3
    福州三中基训day2
    福州三中集训day1
    Python3 字符串
    Python3 数字
    Python3 运算符
    Python3 基础数据类型
    Codeforces Round 253 (Div. 2)
  • 原文地址:https://www.cnblogs.com/gaojunonly1/p/10519777.html
Copyright © 2011-2022 走看看