一道数论好题,知识点涉及扩展欧几里得,快速幂,逆元,二项式定理,模运算,组合数等。

(别问为啥打了快速幂不用费马小求逆元...我就练习下扩欧)

(数据就应该再加大些卡掉n^2递推求组合数的)

#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std; typedef long long ll;
const int mod=10007; void exgcd(ll a,ll b,ll &x,ll &y)
{
if(b==0)
{
x=1,y=0;
return;
}
exgcd(b,a%b,x,y);
ll t=x;
x=y;
y=t-a/b*y;
} ll inv(ll a)
{
ll x,y;
exgcd(a,mod,x,y);
return x;
} ll fac(int x)
{
ll ret=1;
for(ll i=2;i<=x;++i)
ret*=i,ret%=mod;
return ret;
} ll C(int a,int b)
{
return (fac(a)*inv(fac(b)*fac(a-b))%mod+mod)%mod;
} ll qpow(ll a,ll b)
{
if(b==0)
return 1;
if(b==1)
return a%mod;
ll t=qpow(a,b>>1);
t=(t*t)%mod;
if(b&1)
t=(t*a)%mod;
return t;
} int main()
{
int a,b,k,n,m;
scanf("%d%d%d%d%d",&a,&b,&k,&n,&m);
printf("%lld",(ll)((C(k,m)*qpow(a,n)%mod)*qpow(b,m)%mod+mod)%mod);
return 0;
}

最新文章

  1. Web Map Gis 开发系列索引
  2. fork与vfork的区别与联系
  3. dubbo源码分析4-基于netty的dubbo协议的server
  4. java servlet 代码样例 (demo)
  5. BZOJ-3229 石子合并 GarsiaWachs算法
  6. VoLTE、呼叫等待(保持)
  7. 使用Ctex总结1
  8. Servlet和JSP读书笔记(一)
  9. VS2010编译错误 LNK 2019 unresolved external symbol错误解决办法
  10. SAS︱操作语句(if、do、select、retain、array)、宏语言、统计量、运算符号
  11. Zabbix中获取各用户告警媒介分钟级统计
  12. sqlzoo:3
  13. hbase-hive整合及sqoop的安装配置使用
  14. 性能测试五十:Jmeter+Influxdb+Grafana实时数据展示系统搭建
  15. 【Ray Tracing The Next Week 超详解】 光线追踪2-5
  16. Qt sprintf_s函数格式化字符串出错
  17. NSMutableURLRequest Http 请求 同步 异步
  18. 常用的数据整理的JavaScript库
  19. 001-读书笔记-企业IT架构转型之道-阿里巴巴中台战略思想与架构实战-第一章 阿里巴巴集团中台战略引发的思考
  20. iOS 调用短信、电话、邮件、浏览器等

热门文章

  1. ES6--函数的参数
  2. install multiple versions of CUDA
  3. ArcGISServer发布流程
  4. PAT (Advanced Level) Practice 1028 List Sorting (25 分) (自定义排序)
  5. Java_Day3(下)
  6. JavaDay3(上)
  7. Wormholes POJ - 3259 spfa判断负环
  8. 如何在K3查找BOS单据在哪个子系统中
  9. Linux常用命令: zip、unzip 压缩和解压缩命令
  10. ZJOI2006 书架 lg2596