大水题,二项式定理即可(忘得差不多了)

对于一个二项式,\((a+b)^n\)的结果为

\(\sum_{k=0}^{k<=n}C_{n}^{k}a^{n-k}b^k\)

证明:

由数学归纳法,当\(n=1\),左边=\(a+b\),右边=\(C^{0}_{1}a+C_1^1b\)

设\(n=k\)时该式成立,则\(n=k+1\)时,

=\((a+b)^n*(a+b)\)=\(a*\sum_{k=0}^{k<=n}C_{n}^{k}a^{n-k}b^k+b*\sum_{k=0}^{k<=n}C_{n}^{k}a^{n-k}b^k\)

=\(\sum_{k=0}^{k<=n}C_{n}^{k}a^{n-k+1}b^k+\sum_{k=0}^{k<=n}C_{n}^{k}a^{n-k}b^{k+1}\)

=\(\sum_{k=0}^{k<=n+1}C_{n}^{k+1}a^{n-k+1}b^{k+1}\)

markdown真麻烦。。。可能打错一些东西,欢迎拍砖

所以该题代码如下:

#include <iostream>
#include <cstdio>
#include <cstring>
#define int long long
using namespace std;
const int mod=10007;
int n,m,k,a,b,inv[mod+10],fac[mod+10];
int ksm(int d,int z) {
int res=1;
while(z) {
if(z&1) res*=d,res%=mod;
d*=d;d%=mod;
z>>=1;
}
return res;
}
void getinv() {
for(int i=k-1; i>=1; i--)
inv[i]=inv[i+1]*(i+1)%mod;
}
int C(int n,int m) {
return fac[m]*inv[n]%mod*inv[m-n]%mod;
}
signed main() {
cin>>a>>b>>k>>n>>m;
inv[0]=1;
fac[0]=fac[1]=1;
for(int i=2; i<=mod; i++) fac[i]=fac[i-1]*i%mod;
inv[k]=ksm(fac[k],mod-2);
getinv();
cout<<C(n,k)*ksm(a,n)%mod*ksm(b,m)%mod;
}

最新文章

  1. HTML实现点击时的阴影(:active)(已解决iOS微信上无法使用)
  2. Java中从控制台输入数据的几种常用方法
  3. bzoj4349: 最小树形图&amp;&amp;bzoj2260: 商店购物
  4. 实验一 Java开发环境的熟悉境的熟悉
  5. Uploadify上传Excel到数据库
  6. APNs原理解析
  7. maven 的docker插件
  8. nginx部署静态页面
  9. windows通过node环境搭建安装npm,cnpm,vue-cli
  10. PyCharm中快速给选中的代码加上{}、&lt;&gt;、()、[]
  11. Python 构建工具 buildout 的介绍与使用
  12. [js]js的惰性声明, js中声明过的变量(预解释),后在不会重新声明了
  13. SQL server语句中如何实现分页
  14. 使用mongo shell转换字符类型
  15. javascript页面刷新的几种方法
  16. koa2 接收post参数
  17. stl源码剖析 详细学习笔记 算法(1)
  18. HDFS DATANODE 磁盘容量的最小值
  19. sqlconnection 调用webservice服务
  20. ubuntu如何U盘启 动制作

热门文章

  1. [bzoj4127]Abs_树链剖分_线段树
  2. POJ 3225
  3. JeeCG团队招聘啦!
  4. Database Design for Sexbale Forum
  5. 51-nod -1284 2 3 5 7的倍数
  6. [Linux]非常方便的上传下载文件工具rz和sz
  7. Node.js:安装配置
  8. 一起学Android之Fragment
  9. 3.Ventuz Designer新建项目Demo
  10. 第六课: - GroupBy函数