【NOIP2011】计算系数

Description

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

Input

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

Output

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

Sample Input

1 1 3 1 2

Sample Output

3

Hint

【数据范围】
对于 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。

Source

NOIP2011
数学,递推

解析

全班数学垫底的我竟然在讲数学题!!!

好吧它确实是一道数学题。

首先,二项式定理了解一下:

对于a与b的和的n次幂,

有:

所以,第r+1项的通式为:
 

因此,原式可化简为:

(ax)n (by)m ×  C(k,n) //实在没图片了

所以只要求组合数取模,快速幂就行了。

然后,我就想到了拓展欧几里得,逆元,卢卡斯定理等神奇的东西。。。

其实并不需要这么复杂,

聪明的中国人早就有自己的东西:杨辉三角!!

所以只要递推求组合数就可以了!!

最后上AC代码:

#include <bits/stdc++.h>
#define ll long long
using namespace std; const int Mod=;
int a,b,k,m,n;
int f[][]; ll power(int a,int b){
ll r=;
while(b){
if((b&)) r=r*a%Mod;
a=(ll)a*a%Mod;
b>>=;
}
return r;
} int main(){
scanf("%d%d%d%d%d",&a,&b,&k,&n,&m);
for(int i=;i<=k;i++){
f[i][]=;
}
for(int i=;i<=k;i++){
for(int j=;j<=i;j++){
f[i][j]=((ll)f[i-][j]+(ll)f[i-][j-])%Mod;
}
}
ll ans=(ll)f[k][n]%Mod*(ll)power(a,n)%Mod*(ll)power(b,m)%Mod;
ans%=Mod;
printf("%lld\n",ans);
return ;
}

题解 【NOIP2011】计算系数的更多相关文章

  1. NOIP2011 计算系数

    1计算系数 给定一个多项式 (ax + by)k ,请求出多项式展开后 x n y m 项的系数. [输入] 输入文件名为 factor.in. 共一行,包含 5 个整数,分别为 a,b,k,n,m, ...

  2. luoguP1313 [NOIp2011]计算系数 [组合数学]

    题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...

  3. [NOIP2011] 计算系数(二项式定理)

    题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...

  4. [noip2011]计算系数+二项式定理证明

    大水题,二项式定理即可(忘得差不多了) 对于一个二项式,\((a+b)^n\)的结果为 \(\sum_{k=0}^{k<=n}C_{n}^{k}a^{n-k}b^k\) 证明: 由数学归纳法,当 ...

  5. NOIP2011计算系数;

    #include<cmath> #include<algorithm> #include<stdio.h> #include<iostream> #de ...

  6. NOIP 2011 计算系数

    洛谷 P1313 计算系数 洛谷传送门 JDOJ 1747: [NOIP2011]计算系数 D2 T1 JDOJ传送门 Description 给定一个多项式(ax + by)k,请求出多项式展开后x ...

  7. luoguP1313 计算系数 题解(NOIP2011)

    P1313 计算系数 题目 #include<iostream> #include<cstdlib> #include<cstdio> #include<cm ...

  8. 洛谷P1313 [NOIP2011提高组Day2T1]计算系数

    P1313 计算系数 题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别 ...

  9. 一本通1648【例 1】「NOIP2011」计算系数

    1648: [例 1]「NOIP2011」计算系数 时间限制: 1000 ms         内存限制: 524288 KB [题目描述] 给定一个多项式 (ax+by)k ,请求出多项式展开后 x ...

随机推荐

  1. 代码中 方法 处提示:This method has a constructor name

    “此方法具有构造方法的名字” package classpackage; public class Puppy { public void Puppy(String name) { System.ou ...

  2. Intellj Idea 快捷键入门

    Intellj IDEA快捷键入门 时间: 2019/11/29 系统: Win10系统 版本 :Intellj Idea 2018.3 背景: 入手Intellj idea 两个月了,总结一下一些常 ...

  3. ajax同源策略,jsonP跨域访问

    浏览器处于安全性的考虑,要求ajax请求,必须满足同源策略 规定:访问的协议://域名:端口号都相同时满足同源策略,浏览器可以正确解析数据,否则如果有一项不满足要求,则属于跨域访问,浏览器可以正常获取 ...

  4. winform中如何使用timer控件实现欢迎(初始加载)窗口

    第一步.新建窗体项目命名为:TestWelcomeFrm,如下图: 第二步.在新项目中,增加欢迎窗口,命名为WelFrm,整个项目目录如下: 第三步.修改program.cs中启动代码如下: WelF ...

  5. linux环境下Python搭建

    安装gcc   yum install gcc 安装zlib   yum -y install zlib* 安装openssl-devel   yum install openssl-devel -y ...

  6. 高性能MySQL3_笔记1_Mysql的架构与历史

    第一层:连接处理.授权认证.安全 第二层:mysql的核心功能,包括查询解析.分析.优化.缓存以及所有的内置函数(例如日期.加密.数学函数), 所有跨存储引擎的功能都在这一层实现:存储过程.触发器.视 ...

  7. Scala学习五——类

    一.本章要点 类中的字段自动带有getter方法和setter方法 你可以用定制的getter/setter方法替换掉字段的定义,而不必修改使用类的客户端——这就是所谓的”统一访问原则“ 用@Bean ...

  8. github常用搜索技巧

    1.在项目名称,readme文件和描述中包含关键字seckill的项目seckill in:name,readme,description 2.fork大于500,stars大于500springbo ...

  9. centos7配置rsync+inotify数据实时共享

    关于centos7版本上面搭建rsync服务并且实现实时同步之前一直是在6版本上面搭建rsync服务,在7版本上面折腾了半天.此处总结下inotify下载地址:http://github.com/do ...

  10. .NET中跨线程访问winform控件的方法

    1 第一种方式 MethodInvoker invoker = () => { richTextBox1.AppendText(_ClientSocketModelConnectedEvent. ...