博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
新大陆。。?
阅读量:6290 次
发布时间:2019-06-22

本文共 704 字,大约阅读时间需要 2 分钟。

不知道起什么标题了

组合数的计算

更新:不行,精度损失太大!

#include
#include
#define LL long long#define MAXN 2000using namespace std;int cnt;int f[MAXN][MAXN];LL c(LL m,LL n){ cnt++; return n==1?m:1.0*m/n*c(m-1,n-1);}////LL c(LL m,LL n){// if(m==0) return 0;// if(n==1) return m;// cnt++;// return c(m-1,n)+c(m-1,n-1);// //}//LL c(LL m,LL n){// if(f[m][n]) return f[m][n];// if(m==0) return 0;// if(n==1) return m;// cnt++;// return f[m][n]=c(m-1,n)+c(m-1,n-1);// //}int main(){ cout<

王老师证明费马小定理的副产物,C(m,n)=m/n*C(m-1,n-1);

想到能不能用这个算组合数,应该只有O(n)的复杂度。
试了一下,确实快得不像话,对比一下 (阶乘就..免了吧)
第二个用C(m,n)=C(m-1,n)+C(m-1,n-1)
第三个记忆化

不是很确定正确不正确。。。

转载于:https://www.cnblogs.com/ghostcai/p/9247521.html

你可能感兴趣的文章
《Node.js入门经典》一2.3 安装模块
查看>>
《Java 开发从入门到精通》—— 2.5 技术解惑
查看>>
Linux 性能诊断 perf使用指南
查看>>
实操分享:看看小白我如何第一次搭建阿里云windows服务器(Tomcat+Mysql)
查看>>
Sphinx 配置文件说明
查看>>
数据结构实践——顺序表应用
查看>>
python2.7 之centos7 安装 pip, Scrapy
查看>>
机智云开源框架初始化顺序
查看>>
Spark修炼之道(进阶篇)——Spark入门到精通:第五节 Spark编程模型(二)
查看>>
一线架构师实践指南:云时代下双活零切换的七大关键点
查看>>
ART世界探险(19) - 优化编译器的编译流程
查看>>
玩转Edas应用部署
查看>>
music-音符与常用记号
查看>>
sql操作命令
查看>>
zip 数据压缩
查看>>
Python爬虫学习系列教程
查看>>
【数据库优化专题】MySQL视图优化(二)
查看>>
【转载】每个程序员都应该学习使用Python或Ruby
查看>>
PHP高级编程之守护进程,实现优雅重启
查看>>
PHP字符编码转换类3
查看>>