数论
sdau_be stronger
这个作者很懒,什么都没留下…
展开
-
暑假训练日志—数论
数论—最大公约数辗转相除法(欧几里得算法)原理:GCD(x , y)= GCD(x , y-x)核心:不断将两数规模变小,最后实现对数时间内把问题变换到能直接判定解的规模代码实现:int GCD(int x,int y){ return y==0?x:GCD(y,x%y);}二进制算法通过不断去除因子2降低常数实现提高GCD的效率,避免了欧...原创 2018-07-30 21:15:36 · 184 阅读 · 0 评论 -
数论-快速幂
数论—快速幂幂运算:c=a^b一:对于a和b比较小的情况下,可以直接用a*a*a*……来求解 [/demo]#include<bits/stdc++.h>using namespace std;int f(int a,int b){ if(b==0)return 1; int x=1; for(int i=0;i&...原创 2018-07-31 11:47:50 · 210 阅读 · 1 评论 -
暑假训练日志3
昨晚没睡好, 脑袋总感觉恍恍惚惚的。但是今天可以说是很充实了,快速突击了斐波那契数、卡特兰数、素数和Baby-Step-Giant-Step及其扩展算法4小节(虽然是有些囫囵吞枣,总归是没有拉下太多),素数里面的欧拉定理没有深究,所以打算抽个时间把欧拉函数的线性筛法连同欧拉定理综合起来再看一看。今天这四节没有深钻,主要是把应用和例题的代码看了看。斐波那契数的待定系数法公式、卡特兰数的...原创 2018-08-01 20:39:41 · 144 阅读 · 0 评论