• P1313 计算系数


    P1313 计算系数

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

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

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


    错误日志: 又双叒叕没开 (long long)


    Solution

    首先搞(补充)几个知识点:

    组合数

    首先是 (C(n, 0) = C(n, n) = 1)(C(n, m) = C(n, n - m))

    递推:
    (C(n, m)) :看做新加入了一个元素, 有两个选择: 选进集合与不选进集合

    对于选进集合的 (C(n, m) += C(n - 1, m - 1))
    对于没选进集合的 (C(n, m) += C(n - 1, m))

    [C_{n}^{m} = C_{n - 1}^{m - 1} + C_{n - 1}^{m} ]

    LL C[maxn][maxn];
    void get_C(LL n){
    	for(LL i = 1;i <= n;i++){
    		C[i][0] = C[i][i] = 1;
    		for(LL j = 1;j < i;j++){
    			C[i][j] = C[i - 1][j] + C[i - 1][j - 1];
    			C[i][j] %= M;
    			}
    		}
    	}
    

    二项式定理

    [(a + b)^x=sum_{k = 0}^{x}C_{x}^{k}a^{k}b^{x - k} ]

    好了对于这题, 一个裸的二项式定理, 求解的即为 $$C_{k}^{n}a^{n}b^{m}$$

    Code

    #include<iostream>
    #include<cstdio>
    #include<queue>
    #include<cstring>
    #include<algorithm>
    #include<climits>
    #define LL long long
    using namespace std;
    LL RD(){
        LL out = 0,flag = 1;char c = getchar();
        while(c < '0' || c >'9'){if(c == '-')flag = -1;c = getchar();}
        while(c >= '0' && c <= '9'){out = out * 10 + c - '0';c = getchar();}
        return flag * out;
        }
    const LL maxn = 2019, M = 10007;
    LL C[maxn][maxn];
    void get_C(LL n){
    	for(LL i = 1;i <= n;i++){
    		C[i][0] = C[i][i] = 1;
    		for(LL j = 1;j < i;j++){
    			C[i][j] = C[i - 1][j] + C[i - 1][j - 1];
    			C[i][j] %= M;
    			}
    		}
    	}
    LL Q_pow(LL a, LL p){
    	LL base = a, ans = 1;
    	while(p){
    		if(p & 1)ans *= base, ans %= M;
    		base *= base, base %= M;
    		p >>= 1;
    		}
    	return ans % M;
    	}
    LL a, b, k, n, m, ans;
    int main(){
    	a = RD(), b = RD(), k = RD(), n = RD(), m = RD();
    	get_C(k);
    	ans = (Q_pow(a, n) * Q_pow(b, m)) % M;
    	ans = (ans * C[k][n]) % M;
    	printf("%lld
    ", ans);
    	return 0;
    	}
    
  • 相关阅读:
    U盘重装苹果OS系统
    iOS Unity3D游戏引擎入门③
    iOS Unity3D游戏引擎入门②
    iOS Unity3D游戏引擎入门①
    iOS 绘图
    iOS 【手势获取cell位置】【点击cell获取indexpath】
    iOS 多手势冲突解决办法
    iOS -- Bug 小集
    iOS 知识点小集
    CoreLocation 框架
  • 原文地址:https://www.cnblogs.com/Tony-Double-Sky/p/9531779.html
Copyright © 2020-2023  润新知