数论
文章平均质量分 55
__Galaxy
,,,,,,,,
展开
-
递归FFT
#include <iostream>#include <complex>#include <cstdio>#include <cmath>const int mx_n = 4e5 + 10;const double pi = acos(-1.0);#define rep(i, s, t) for(register int i = s; i <= t; ++i)using namespac原创 2017-03-16 11:53:34 · 618 阅读 · 0 评论 -
LG的数学计划----EXGCD
拖延了好久了, 多重要的一章, 马上写, 不能再拖了, 写完了去写作业首先介绍一下欧几里得算法gcd(a,b)=gcd(b,amodb) gcd(a,b) = gcd(b,a mod b) 内容很简单, 关于此定理的算法也称辗转相乘法, 且gcd(a, b) = gcd(b, a); 证明非常简单:我们令 a = kb+u; 则 u = a % b = a-kb;设gcd(a, b) =原创 2016-09-16 20:51:22 · 435 阅读 · 0 评论 -
LG的数学计划----分解质因数(Pollard-Rho算法)
1.对于我们朴素的求解质因数, 暴枚真是个好算法好吧一样的就不给出代码了, 2.对于另一种神奇的算法Pollard-Rho算法随机化算法, 与Miller robin有着密切联系, 可以先看一看两种算法都不难, 只是很神奇。。 这个算法也是一步步分解, 再递归求解, 但是它实现分解的过程非常奇妙, 我们如果在p中rand()分解, 这无疑是很愚蠢的。。。但是p又一定可以分解, 所以我们要while原创 2016-09-14 22:19:55 · 1229 阅读 · 0 评论 -
LG的数学计划之素数测试(Miller Rabin算法)
我们知道对于素数的一些处理方法, 1.暴枚求质因数,效率比较。。。。不排除大力出奇迹的情况 代码简单这里不给出2.素数筛选法,这个算法比起第一种效率好多了, 是许多题都会考察到的, 算法的思想是枚举每一种可能的质因数, 来求出大范围的素数, 即第一遍我们筛去所有2的倍数, 在筛去所有3的倍数, 5, 7。。。。。。。 最后把 sqrt(N)也筛一遍就好了, 那么可知剩下的就都是素数了,原创 2016-09-14 21:03:27 · 418 阅读 · 0 评论 -
BSGS(baby step gaint step)+快速幂+exgcd逆元
一个神奇的算法, 快速求出 A^x=B(mod C),C是素数,求最小的非负x值 若x有解,那么 0<=x < C, 为什么?由费马小定理可以得a^(c-1) = 1(mod c) 那么0~c-1必定是一个循环节(不一定是最小的)。既然是%c,那么B一定是0到c-1之间的一个数。最坏的条件下,a的c-1以内次方%c的余数各不相同,那么在0~C-1时一定存在一个x满足条件。 那么不是最坏情况时,原创 2016-09-02 19:26:09 · 298 阅读 · 0 评论 -
1748. The Most Complex Number/LG的数学计划~~~持续更新ing(反素数求解)
神奇的反素数, 首先定义g(x) = x的约数个数而反素数就是对于任意的0 < j < i 有g(j) < g(i)那么就称i为反素数 那么从这个定义中可以发现的是, 反素数一定是由连续的质数相乘 即对于反素数x一定有x=2^t1*3^t2*5^t3………….. 注意一定要是连续的, 即t1, t2, t3, t4, t5……>0; 好吧说的不清楚, 给百度百科的说明对于任何正整数x,其约原创 2016-09-06 19:51:04 · 355 阅读 · 0 评论 -
一篇FFT好文
加精好文转载 2017-03-16 10:30:29 · 263 阅读 · 0 评论