[gotoac]数论公式
扩展欧几里德:
ll ex_gcd(ll&x,ll&y,ll a,ll b){if(!b){x=1,y=0;return a;}ll r=ex_gcd(x,y,b,a%b);ll tmp=y;y=x-a/b*y,x=tmp;return r;
}
欧拉函数:
int eular(int x){int ret=1;for(int i=2;i*i<=x;i++)if(x%i==0){x/=i,ret*=i-1;while(x%i==0) x/=i,ret*=i;}if(x>1) ret*=x-1;return ret;
}
斐波那契数列的通项公式:
约瑟夫问题的递推式:
n人喊m的退出,p(i)表示第i个退出的人.
编号0~n-1
p[0] = 0;
p[i] = (p[i-1] + m-1) % (n-i+1);
求和公式:
1+2+3+…+n=(1+n)*n/2;
1^2+2^2+3^2+…+n^2=n*(n+1)*(2*n+1)/6;
1^3+2^3+3^3+…+n^3=((1+n)*n/2 ) ^2;
1^3+3^3+5^3+…+(2*N-1)^3=(n+1)^4/8+ (n+1)^2/4 (n为最后一项)
n很大时:
1+1/2+1/3+1/4+...1/n = ln(n+1) + r (r约为0.5772156649)
卡特兰数:
Ps:cat(1)=cat(2)=1;
一般递归式:
cat(n)=cat(1)*cat(n-1)+h(2)*h(n-2)+…+h(n-1)*h(1) (n>=3);
另类递归式:
cat(n)=cat(n-1)*(4*n-2)/(n+1);
解:cat(n)=C(2n,n)/(n+1)
近似式:cat(n)=4^n/(n^(3/2)*sqrt(pi))
应用:
1. cat(n)表示长度为2n的Dyck word(n个x,n个y组成的字符串,且从左到右扫描,x的个数大于等于y的)的个数.
2. 将1中的x换成左括号,y换成右括号,cat(n)可以表示含n组括号的合法运算式个数.
3. cat(n)表示有n+1个叶子的二叉树个数.
4. cat(n)表示所有不同构的含n个分支节点的满二叉树的个数.
5. cat(n)表示在nxn格点上所有不越过对角线的最短路径数.(可越过对角线的最短路径数为C(2n,n))
6. cat(n)表示通过连结顶点而将n+ 2边的凸多边形分成三角形的方法个数.
7. 1的变形:m个x,n个y.因为如果一个序列从第k个开始y比x多一个,那么从第k+1个起,x变y,y变x得到一个新序列,这个序列有m+1个y,而且和旧的序列一一对应,所以退出不合法的序列个数为C(m+n,m+1),而一个序列要么合法要么不合法,所以合法序列的个数就是C(m+n,n)-C(m+n,m+1),由于人数不一样所以还要乘以m!*n!,化简之后就是(m+1)!*(m-n+1)/(m+1).
8. 7的推广,如果之前已经排了p个x在最前面,那么同理可证不合法的序列数是C(m+n,m+p+1),化简略.
斯特林公式:
n!= sqrt(2*pi*n)*(n^n)*(e^-n)
错排公式:
m(n) = [ m(n-1) + m(n-2)] * (n-1)
Ps:m(1)=0,m(2)=1;
简化公式:m(n) = {n!/e+0.5}
Ps:{}表示取整数部分
梅森素数(能写成2^p-1的素数,p也为素数):
int p[41] = {2,3,5,7,13,17,19,31,61,89,107,127,521,607,1279,2203,2281,3217,4253,4423,9689,9941,11213,19937,21701,23209,44497,86243,110503,132049,216091,756839,859433,1257787,1398269,2976221,3021377,6972593,
13466917,20996011,24036583};
//2^p[]-1为梅森素数
[gotoac]数论公式相关推荐
- 数论 + 公式 - HDU 4335 What is N?
What is N? Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=4335 Mean: 给你三个数b.P.M,让你求有多少个n ...
- ACM公选课第四节高精度 2020.4.9课-2020.4.10补
最近几年有点不火了,java python 没这情况,c++才要优化 longlong 100位算不了 高精度 pku1423 一个数论公式 Stirling 大数 有的用模板 pku2562 nef ...
- HDU2855 Fibonacci Check-up 矩阵的应用
/* 两个数论公式: f(k) = ( (1+sqrt(5)) / 2 ) ^ k - ( (1-sqrt(5)) / 2) ^ k (1+a)^n = Sum(C(k|n) * (a^k)) 推导过 ...
- 第一不完全性定理证明标号分类 拆解汉译 知识背景——哥德尔原著英译拆解汉译之一
第一不完全性定理证明标号分类 拆解汉译 知识背景--哥德尔原著英译拆解汉译之一 哥德尔原著中的第一不完全性定理证明的全过程,已经艰难地旅行了一趟.不是浮光掠影,却依然处在似懂非懂之中.静坐沉思,常自叹 ...
- 哥德尔递归汉译和原始递归——哥德尔原著英译拆解汉译之七
**哥德尔递归汉译和原始递归--哥德尔原著英译拆解汉译之七 ** 虎年的春节接近尾声,从惠州双月湾返回广州,已经时过一月了.近日又碰上一个震撼世界的俄乌开战,这篇博文也就一拖再拖.此外,还伴有诸多生存 ...
- 乘法逆元 +数论分块 +平方和公式
年后准备学习啦,开学还得准备考试. 乘法逆元: 因为涉及到除法,所以取余这个操作就错误. 所以如果我们要求(a/b)%mod,我们可以假设 (a/b)%mod = a*c%mod 那么c就是b的逆元. ...
- ( 数论专题 )【 斐波那契通项公式 + 等比数列求和公式 】
( 数论专题 )[ 斐波那契通项公式 + 等比数列求和公式 ] 斐波那契通项公式( 证明略 ): 例题: 求当n趋向于无穷大,Sn等于什么,输出最简分数. 分子是斐波那契数列,分母是K的 i 次方, ...
- CodeForces - 1459C Row GCD(数论+推公式)
题目链接:点击查看 题目大意:给出一个长度为 nnn 的数组 aaa,再给出一个长度为 mmm 的数组 bbb,现在要求输出,当 j=1,2,...,mj = 1,2,...,mj=1,2,...,m ...
- 数学--数论--HDU1825(积性函数性质+和函数公式+快速模幂+非互质求逆元)
As we all know, the next Olympic Games will be held in Beijing in 2008. So the year 2008 seems a lit ...
最新文章
- 宣传推广费用_企业如何做好网络推广,提高网络推广的转化率?
- 互联网金融产品需要什么样的产品经理?
- linux7添加两个网关,RHEL7设置IP地址、网关和DNS(示例代码)
- Java,JavaFX的流利设计风格文本字段和密码字段
- WINCE BSP中source文件中的宏定义
- 深度相机之TOF原理详解
- 超干货!为了让你彻底弄懂MySQL事务日志,我通宵肝出了这份图解!
- LeetCode 97. 交错字符串(动态规划)
- JavaWeb笔记——JSPThymeleaf
- 限制计算机网口权限,谁能上网我来定——控制软件的联网权限
- RSF 分布式服务框架设计
- 轻松完成销售业绩的6个技巧
- JAVASE常见面试题总结
- RV1126笔记二十三:Nginx及cgi移植
- 常用计算机高级语言及其特点,计算机高级语言特点是什么?常见的语种有哪些?...
- Js报错:Maximum call stack size exceeded
- H323Client-1 H323协议族概述
- SVN服务端常用命令
- 高档次的计算机教室设计,一间智慧教室的费用清单--互动课室高教版
- linux 设置显卡命令,Linux 命令行下如何配置nVIDIA显卡 之三