Processing math: 100%
随笔 - 42  文章 - 0 评论 - 4 阅读 - 10263
< 2025年1月 >
29 30 31 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 1
2 3 4 5 6 7 8

03 2020 档案
积性函数(求欧拉函数和莫比乌斯函数的值)
摘要:利用素数筛法求欧拉函数和莫比乌斯函数的值: 如果函数f满足gcd(a,b)=1时,有f(ab)=f(a)*f(b),则f叫作积性函数 如果取消互质的条件,则叫完全积性函数。 前置知识: 1.欧拉函数:φ(n)表示1~n中与n互质的数的个数 计算公式为:φ(n)=n*(1-1/p1)*(1-1/p2) 阅读全文
posted @ 2020-03-31 15:26 Allen_lml 阅读(281) 评论(0) 推荐(1) 编辑
素数筛
摘要:1.(nlogn): bool not_prime[2333]=false; //把非质数都设为false,如果not_prime为false,则是质数,为true,则不是质数 not_prime[1]=true; for(int a=2;a<=n;a++) for(int b=a+a;b<=n;b 阅读全文
posted @ 2020-03-29 15:20 Allen_lml 阅读(151) 评论(0) 推荐(1) 编辑
exgcd(扩展欧几里得)
摘要:给定a,b,设g=gcd(a,b),求x,y满足x*a+y*b=g(x,y∈Z) 本方法用的是辗转相除的思想。 设(x+t)*a+(y+r)*b=g 只要t=k*b/gcd(a,b),r=-k*a/gcd(a,b)就满足等式 通解为:(x+k*b/gcd(a,b),y-k*b/gcd(a,b)). 阅读全文
posted @ 2020-03-24 16:07 Allen_lml 阅读(161) 评论(0) 推荐(1) 编辑
线性求逆元(简略数学证明)
摘要:求1~n所有数的逆元: 假设1~i-1的逆元已求出,设p÷i=d……r(商d余r),则p=i*d+r。其中r=p%i。 对p=i*d+r,等式两边同时%p,得到0=(i*d+r)%p。 即为0≡i*d+r(mod p)(同余有一条性质:如果a≡b(mod m),x≡y(mod m),则有ax≡by( 阅读全文
posted @ 2020-03-24 14:56 Allen_lml 阅读(268) 评论(0) 推荐(1) 编辑
Miller-Rabin素性测试(判定素数)
摘要:若n为素数,取a<n,设n-1=d*2^r,则要么a^d≡1(mod n),要么∃0≤i<r,s.t.(s.t.是满足或使得的意思)a^(d*2^i)≡-1(mod n). 思路:找k个数,全部进行上述两个测试(至少满足一个),若都能通过测试,则可以认为n是素数。 //该方法存在一定的问题,当然,出 阅读全文
posted @ 2020-03-23 21:34 Allen_lml 阅读(297) 评论(0) 推荐(1) 编辑
逆元(摘于https://blog.csdn.net/li1615882553/article/details/80001473)
摘要:逆元定义逆元和我们平时所说的倒数是有一定的区别的,我们平时所说的倒数是指:a*(1/a) = 1,那么逆元和倒数之间的区别就是:假设x是a的逆元,那么 a * x = 1(mod p),也就是只多了一个取余的操作,这个取余的操作,就会保证a的逆元不一定只是a的倒数。那么我们的逆元有什么作用呢? 并且 阅读全文
posted @ 2020-03-22 21:00 Allen_lml 阅读(179) 评论(0) 推荐(1) 编辑
矩阵快速幂代码(只有代码)
摘要://矩阵快速幂: struct matrix { int n,m; int z[233][233]; matrix() { n=m=0; memset(z,0,sizeof(z)); } }; matrix operator*(const matrix &a,const matrix &b) { m 阅读全文
posted @ 2020-03-20 21:55 Allen_lml 阅读(235) 评论(0) 推荐(1) 编辑
高斯消元
摘要:算法分析 如果给定一个形如以下式子的多元方程式 {2x+yz=83xy+2z=112x+y+2z=1⎩⎪⎨⎪⎧​2x+y−z=8−3x−y+2z=11−2x+y+2z=−1​ 我们要首先提出各项的系数 因为我们知道,高斯消元其实只跟 阅读全文
posted @ 2020-03-20 19:50 Allen_lml 阅读(155) 评论(0) 推荐(1) 编辑
逻辑运算符之优先级&&and、or
摘要:not> and> or And运算:中文叫与运算True And True 结果为 TrueTrue And False 结果为 FalseFalse And True 结果为 FalseFalse And False 结果为 FalseOr运算:中文叫或运算True Or True 结果为 Tr 阅读全文
posted @ 2020-03-17 15:18 Allen_lml 阅读(2318) 评论(0) 推荐(1) 编辑
康托展开
摘要:X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0!其中, a[i]为整数,并且0 <= a[i] <= i, 0 <= i < n, 表示当前未出现的的元素中排第几个,这就是康托展开。 例如有3个数(1,2,3),则其排列组合及其相应的康托 阅读全文
posted @ 2020-03-03 10:47 Allen_lml 阅读(97) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示