组合数的性质:

C(n,m)=C(n,n-m);

C(n,m)=n!/(m!(n-m)!);


组合数的递推公式:

C(n,m)=  C(n-1,m-1)+C(n-1,m);

组合数一般数值较大,题目会要求取模;而求组合数的过程中一般会用到除法,所以会涉及除法取模的知识;

在除法取模的过程中,一般会求一个乘法逆元;

乘法逆元的定义:满足a*k≡1 (mod p)的k值就是a关于p的乘法逆元;

求乘法逆元的方法:

(b/a)modp;(a|b)p为质数;

1.欧拉定理或者费马小定理:

  费马小定理是欧拉定理的特殊情况;

  费马小定理的定义及证明:链接

    由得b/a=(b/a)*(ap-1modp)=b/a*ap-1modp=b*ap-2modp;

    除法就被消去了;

    而这样做还有一个问题就是p-2一般很大,(因为p一般都取1e9+7,NND,我记得有次BC的题是1e8+7直接把我坑惨了);这时就用快速幂求啦;

    附上快速幂的模板:

    

ll fsat_pow(ll a,ll b)
{
ll s=,base=a;
while(b)
{
if(b&)
{
s*=base;
s%=mod;
}
base*=base;
base%=mod;
b=(b>>);
}
return s;
}

2.扩展欧几里得算法:

当n,m都很大不能一个一个数相乘得到时,这时就需要Lucas定理了;(有心情有时间再来写)

最新文章

  1. 【原】nodejs全局安装和本地安装的区别
  2. 关于分布式事务的一个误解:使用了TransactionScope就一定会开启分布式事务吗?
  3. PVANET----Deep but Lightweight Neural Networks for Real-time Object Detection论文记录
  4. .NET程序优化
  5. 冲刺阶段 day11
  6. 读取和写入 文件 (NSFIleManger 与 NSFileHandle)
  7. java中hashCode()方法的作用
  8. 项目前端技术-learn
  9. 华为上机:IP地址转换
  10. Ui设计哪里有好的素材
  11. 1A Theatre Square
  12. vagrant 配置文件简析
  13. openresty源码剖析——lua代码的执行
  14. 用VSCode开发一个基于asp.net core 2.0/sql server linux(docker)/ng5/bs4的项目(3)
  15. 计蒜客NOIP模拟赛(2) D2T3 银河战舰
  16. Delphi 7中的四种消息框
  17. c#常用数值范围汇总
  18. Confluence 6 恢复一个站点有关使用站点导出为备份的说明
  19. officewebapps 服务器部署问题
  20. 不包含数据和字母的Webshell

热门文章

  1. uva 11374 最短路+记录路径 dijkstra最短路模板
  2. Lucene 源码分析之倒排索引(一)
  3. elasticsearch 查询模板
  4. Aws Dynamodb数据导出到S3
  5. 安装下载MySQL
  6. Jenkins 的安装与简单使用
  7. FTPClient listFiles 阻塞问题
  8. 【每日Scrum】第五天(4.15) TD学生助手Sprint1站立会议
  9. 《好好说话》zz
  10. 一起talk GDB吧(第二回:GDB单步调试)