----------基本算法---------
凛冬天明
这个作者很懒,什么都没留下…
展开
-
快速幂+快速乘法
在做题的过程中,经常遇到计算a^n,常常采用的策略就是用快速幂 快速幂的代码是:(见下方),可是问题来了,如果当mod很大的时候在计算x*x的会爆long long.所以我们可以用类似于快速幂的方法把乘法拆分成加法来算。这种方法叫做,快速乘法或者高精度代码见下边;long long Mul(long long a, long long b) { long long res = 0;原创 2017-07-04 09:48:45 · 518 阅读 · 0 评论 -
简单递归找最近公共父节点
如上图,我们要求任意两个点的最接近的公共的父节点,比如:9和11的最近的公共父节点是2。 intput: 10 4 output: 2 分析:我们可以从所给的两个节点的开始向上找,一直找到他们相遇,选择每次让比较大的数字向上找(大的数字在同层,或者更深层。) 所以 递归可以写成int rec(int x,int y) { if(x==y)//找到了公共父节点 re原创 2017-04-24 22:43:43 · 1512 阅读 · 0 评论 -
错排公式
n各有序的元素应有n!种不同的排列。如若一个排列式的所有的元素都不在原来的位置上,则称这个排列为错排 D(n)=(n-1)(D(n-1)+D(n-2)),D(1)=0,D(2)=1。 去网上找推导的了,结果发现自己智商不够用了,并不是那么好懂, 就这了,先跟这个公式记住,也不是多么难记。转载 2017-02-11 14:29:31 · 419 阅读 · 0 评论