【noip2011】【数学】计算系数 逆元求组合数
来源:互联网 发布:b2b 知乎 编辑:程序博客网 时间:2024/06/06 02:25
描述
给定一个多项式(ax + by)^k,请求出多项式展开后x^n * y^m项的系数。
输入格式
共一行,包含5个整数,分别为a,b,k,n,m,每两个整数之间用一个空格隔开。
输出格式
输出共1行,包含一个整数,表示所求的系数,这个系数可能很大,输出对10007取模后的结果。
样例输入
1 1 3 1 2
样例输出
3
限制
1s
提示
对于30%的数据,有0 ≤ k ≤ 10;
对于50%的数据,有a = 1, b = 1;
对于100%的数据,有0 ≤ k ≤ 1000,0 ≤ n, m ≤ k,且n+m = k,0 ≤ a,b ≤ 1,000,000.
这个题就是一个组合数或者杨辉三角,公式可以很快退出来
然后我觉得最快的方法是用逆元求组合数,是O(n)的其他方法都是O(
然后这道题代码如下:
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<set>#include<map>#include<queue>#include<algorithm>#include<vector>#include<cstdlib>#include<cmath>#include<ctime>#include<stack>#define INF 2100000000#define ll long long#define clr(x) memset(x,0,sizeof(x))#define clrmax(x) memset(x,127,sizeof(x))using namespace std;#define M 1005#define P 10007ll k,m,n,a,b;ll inv[M];void get_inv(){ inv[1]=1; for(int i=2;i<=1000;i++) inv[i]=(P-(P/i))*inv[P%i]%P;}ll mi(ll a,ll b){ if(b==1)return a; if(b==0)return 1; ll temp=mi(a,b/2); return b%2==0?temp*temp%P:temp*temp*a%P;}ll C(ll a,ll b){ ll ret=1; for(int i=b;i>=b-a+1;i--) ret=ret*i%P; for(int i=1;i<=a;i++) ret=ret*inv[i]%P; return ret;}int main(){ cin>>a>>b>>k>>n>>m; get_inv(); cout<<C(n,k)*mi(a,n)%P*mi(b,m)%P; return 0;}
大概就是这个样子,如果有什么问题,或错误,请在评论区提出,谢谢。
0 0
- 【noip2011】【数学】计算系数 逆元求组合数
- [NOIP2011]计算系数 D2 T1组合数
- 【组合】NOIP2011计算系数
- noip2011 计算系数 (幂方取模+组合数取模)
- noip2011 计算系数
- NOIP2011 计算系数
- NOIp2011 计算系数
- NOIP2011计算系数
- #NOIP2011#计算系数
- [Noip2011]计算系数
- 【Noip2011】计算系数
- NOIP2011计算系数详解
- vijos P1739计算系数 (组合数学)
- 【NOIP2011】洛谷1313 计算系数
- noip2011提高组——计算系数
- NOIP2011 计算系数 题解(超详细)
- rqnoj[NOIP2011提高组]计算系数
- 洛谷 P1313 [NOIP2011 D2T1] 计算系数
- POJ 1639度限制生成树
- 使用Source Insight查看Android Framework 源码
- Maze(codeforces377a)dfs,思维
- system函数的总结
- Android-25种开源炫酷动画框架
- 【noip2011】【数学】计算系数 逆元求组合数
- linux类系统Ubuntu,deepin等下geany Java编程配置,错误调试
- JAVA中重写equals()方法的同时要重写hashcode()方法
- 【设计模式系列】--策略模式
- Oracle命令(一):Oracle登录命令
- HDU 2152 —— Fruit
- 初识 git 上传代码到github 掉坑里了哦
- JZOJ4744. 【NOIP2016提高A组模拟9.2】同余 一类比较好的分类思想+根号算法
- createBitmap — java.lang.IllegalArgumentException: x must be < bitmap.width()错误的解决