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

输入格式

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

输出格式

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

数据范围

0≤n,m≤k≤1000,
n+m=k,
0≤a,b≤106

输入样例:

1 1 3 1 2

输出样例:

3

解题步骤:

根据二项式定理:

得(x^n)*(y^m)的系数为:

所以只要根据这个公式,分别计算出其三部分,然后乘起来即可。

对于(a^n)*(b^m),可以直接采用快速幂来求。

对于C(n,k)=(k*(k-1)*(k-2)*...*(k-n+1))/(1*2*3*..*k),这个分式,首先用逆元将除法变为乘法,即:x/y=x*y的逆元

形如:A*x%p=1%p   (表示A关于p的逆元x)

根据费马小定理:a^(p-1)%p=1%p, (p为素数)

                       所以:(a^(p-2)*a)%p=1%p,这就转化成了A的逆元的形式,这里a相当于A,a^(p-2)就是a关于p的逆元

所以这里对于这个分式里的分母的每个数t转化成其逆元就是t^(p-2)=t^10005,用快速幂算出来,然后让分子和这些逆元累成起来就可以了。

完整代码:

#include <iostream>using namespace std;const int mod=1e4+7;int a,b,k,n,m;int qmi(int a,int b)
{a%=mod;int res=1;while(b){if(b&1) res=res*a%mod;a=a*a%mod;b>>=1;}return res;
}signed main()
{cin>>a>>b>>k>>n>>m;int res=qmi(a,n)*qmi(b,m)%mod;for(int i=1,j=k;i<=n;i++,j--){res=res*j%mod;res=res*qmi(i,mod-2)%mod;}cout<<res<<endl;return 0;
}

计算系数(二项式定理逆元费马小定理)相关推荐

  1. 子段乘积(逆元费马小定理)+线段树做法

    题解:一开始做这个题的时候想过尺取法,但是因为没有逆元的知识,不知道该如何不断删除左端元素.其实这题并不难想,设l,r为两端开始都置为1,当长度小于k的时候不断乘右端元素并取余,当长度等于k时删除左端 ...

  2. 除法取模与逆元/费马小定理

    对于正整数和,如果有,那么把这个同余方程中的最小正整数解叫做模的逆元. 逆元一般用扩展欧几里得算法来求得,如果为素数,那么还可以根据费马小定理得到逆元为.(都要求a和m互质) 推导过程如下(摘自Acd ...

  3. 逆元+费马小定理+扩展欧几里得

    逆元:(即是逆元素)逆元素是指一个可以取消另一给定元素运算的元素. 在一个代数系统(S,*)中,存在单位元素e,如果对S内的元素a存在a^-1 * a = e,则将 a^-1称为a 的左逆元. 同理若 ...

  4. jzoj4229-学习神技【逆元,费马小定理】

    正题 题目大意 求 (∑i=1na∗qi)mod(109+7)(\sum_{i=1}^na*q^i)\ mod\ (10^9+7)(i=1∑n​a∗qi) mod (109+7) 解题思路 题目里都给 ...

  5. 取模除法(逆元)(费马小定理)(线性求逆元)

    文章目录 引言 逆元 费马小定理 内容 应用 证明 线性求逆元 thanks for reading! 引言 我们做题时经常会由于答案过大,被要求使答案对一个质数取模 我们都知道,加和乘对取模是没有影 ...

  6. 费马小定理以及快速幂应用

    费马小定理 定理 例子 代码 逆元 快速幂代码 快速幂求逆元 定理 假设p为质数,a不是p的倍数,则有 a p − 1 ≡ 1 ( m o d p ) a^{p-1}\equiv 1(mod \spa ...

  7. 洛谷 [P1593 因子和] {快速幂+费马小定理求逆元+求解质因子} 奋斗的珂珂~

    题目描述 输入两个整数 a 和 b,求 aba^bab 的因子和. 由于结果太大,只要输出它对 9901 取模的结果. 输入格式 仅一行,为两个整数 a和 b. 输出格式 输出一行一个整数表示答案对 ...

  8. 【BZOJ】3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛(排列组合+乘法逆元+欧拉定理/费马小定理)...

    http://www.lydsy.com/JudgeOnline/problem.php?id=3398 以下牡牛为a,牝牛为b. 学完排列计数后试着来写这题,"至少"一词可以给我 ...

  9. hihocoder #1698 假期计划 (排列组合+费马小定理+乘法逆元)

    Description 小Ho未来有一个为期N天的假期,他计划在假期中看A部电影,刷B道编程题.为了劳逸结合,他决定先拿出若干天看电影,再拿出若干天刷题,最后再留若干天看电影.(若干代指大于0)  每 ...

最新文章

  1. mac+修改+ssh文件夹权限_用SSH指令批量修改文件夹 文件权限和拥有者
  2. 中国HBase技术社区第五届MeetUp ——HBase技术解析及应用实践(深圳站)
  3. 线程与线程池(一条龙详解)
  4. Python文件拷贝函数
  5. saas java框架_XMReport-提供web项目Java套打解决方案
  6. 【英语学习】【Level 07】U05 Best Destination L2 The City of Lights
  7. 计算机四级网络工程题库,2015计算机四级网络工程师模拟题库(三)附答案
  8. 通过 JavaScript调用Asp.net(C#)后台方法
  9. U盘提示''这张磁盘有写保护''修复工具
  10. 小世界网络——利用Networkx分析武汉公交网络
  11. 基于host的http代理--hproxy
  12. php免费开发环境搭建,Windows PHP 开发环境搭建
  13. 基础——DS28C22
  14. datanlysis
  15. 危化品爆炸场景下的应急通信系统解决方案
  16. 你所不知的角落,有人在做没有深度学习的AI
  17. Logistics回归模型
  18. 东莞裕同易普优APS项目启动啦!
  19. 国赛ezpop题目复现(tp6)
  20. 设计模式作业 — 1

热门文章

  1. 大学计算机教师面试说课稿,2016江西教师招聘面试中小学信息技术说课稿:认识计算机...
  2. 程序员可以选择哪些平台写技术博客?
  3. 【C语言进阶】指针 下
  4. codeforces每日5题(均1500)-第二十一天
  5. 返回一个整数的反序数函数
  6. 地球币EAC电脑钱包恢复的方法
  7. IOS 开发高手课 学习笔记(第二部分)
  8. 倍福TwinCAT(贝福Beckhoff)基础教程2.2 TwinCAT常见类型使用和转换_函数
  9. 计算机mac是什么,修改计算机的MAC地址有什么用
  10. 面向特定问题的开源算法管理和推荐(六)