题解 【NOIP2011】计算系数
【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次幂,
有:
因此,原式可化简为:
(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】计算系数的更多相关文章
- NOIP2011 计算系数
1计算系数 给定一个多项式 (ax + by)k ,请求出多项式展开后 x n y m 项的系数. [输入] 输入文件名为 factor.in. 共一行,包含 5 个整数,分别为 a,b,k,n,m, ...
- luoguP1313 [NOIp2011]计算系数 [组合数学]
题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...
- [NOIP2011] 计算系数(二项式定理)
题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别为 a ,b ,k , ...
- [noip2011]计算系数+二项式定理证明
大水题,二项式定理即可(忘得差不多了) 对于一个二项式,\((a+b)^n\)的结果为 \(\sum_{k=0}^{k<=n}C_{n}^{k}a^{n-k}b^k\) 证明: 由数学归纳法,当 ...
- NOIP2011计算系数;
#include<cmath> #include<algorithm> #include<stdio.h> #include<iostream> #de ...
- NOIP 2011 计算系数
洛谷 P1313 计算系数 洛谷传送门 JDOJ 1747: [NOIP2011]计算系数 D2 T1 JDOJ传送门 Description 给定一个多项式(ax + by)k,请求出多项式展开后x ...
- luoguP1313 计算系数 题解(NOIP2011)
P1313 计算系数 题目 #include<iostream> #include<cstdlib> #include<cstdio> #include<cm ...
- 洛谷P1313 [NOIP2011提高组Day2T1]计算系数
P1313 计算系数 题目描述 给定一个多项式(by+ax)^k,请求出多项式展开后x^n*y^m 项的系数. 输入输出格式 输入格式: 输入文件名为factor.in. 共一行,包含5 个整数,分别 ...
- 一本通1648【例 1】「NOIP2011」计算系数
1648: [例 1]「NOIP2011」计算系数 时间限制: 1000 ms 内存限制: 524288 KB [题目描述] 给定一个多项式 (ax+by)k ,请求出多项式展开后 x ...
随机推荐
- Redis(1.11)Redis4.0.11 cluster 分布式集群搭建
概念与了解:Redis(1.7)Redis高可用架构(理论篇) [0]试验环境 结构图如下: (这里试验没有那么多机器,就用3台机器搭建试验) redis1是redis集群的一个节点A,上面运行了两个 ...
- mysql 常见问题整理
一 coalesce 在mysql中,其实有不少方法和函数是很有用的,这次介绍一个叫coalesce的,拼写十分麻烦,但其实作用是将返回传入的参数中第一个非null的值,比如 SELECT COALE ...
- XXLJOB2.1.0数据源配置踩坑记录
最近在看XXLJOB,因为截至到发文时间最新的版本是2.1.0而且需要建立的数据库与Quartz解耦了,所以就用了最新的版本. 首先说一下踩坑过程: 代码开发完成之后,在定时跑的时候第一次跑的多数失败 ...
- Vue--理解非prop特性
所谓非 prop 特性,就是指它可以直接传入组件,而不需要定义相应的 prop. 尽管为组件定义明确的 prop 是推荐的传参方式,组件的作者却并不总能预见到组件被使用的场景.所以,组件可以接收任意传 ...
- c++学习笔记之类模板
C++ 除了支持函数模板,还支持类模板(Class Template).函数模板中定义的类型参数可以用在函数声明和函数定义中,类模板中定义的类型参数可以用在类声明和类实现中.类模板的目的同样是将数据的 ...
- python中的类变量和对象变量,以及传值传引用的探究
http://www.cnblogs.com/gtarcoder/p/5005897.html http://www.cnblogs.com/mexh/p/9967811.html
- O030、Launch 和 shut off 操作详解
参考https://www.cnblogs.com/CloudMan6/p/5460464.html 本节详细分析 instance launch 和 shut off 操作 ,以及如何在日志中快 ...
- 向PHP使用Post方式上传文件
欢迎访问我的个人博客,获取更多有用的东西 链接一 链接二 也可以关注我的微信订阅号:CN丶Moti 1.post-file.html form表单提交方式一定要是post,而且添加属性enctype= ...
- java实现spark常用算子之TakeSample
import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaRDD;import org.apache.spark.a ...
- 将xml作为输入参数传递给存储过程
1 查看存储过程的方式 exec sp_helptext 'GetTrackingFeedLogByMaxId' select definition from sys.sql_modules wher ...