
数学
文章平均质量分 64
acm2016
这个作者很懒,什么都没留下…
展开
-
一些公式
1+2+3+……+n=(n*(n+1))/21^2+2^2+3^2+……+n^2=(n*(n+1)*(2n+1))/61^3+2^3+3^3+……+n^3=(((n*(n+1))/2))^21^4+2^4+3^4+……+n^4=(n*(n+1)*(2n+1)*(3n^2+3n-1))/30对于某一个p,有一种通法可以求1p+2p+3p+……+np首先写出这个和式的前(p+1)项原创 2016-09-04 11:06:03 · 200 阅读 · 0 评论 -
佩尔方程
佩尔方程佩尔方程:形如x2-D*y2=1(D是一个固定的正整数且D不是完全平方数)的方程称为佩尔方程佩尔方程定理:佩尔方程总有正整数解,若(x1,y1)是使x1最小的解,则每个解(xk,yk)都可以通过取幂得到:xk + yk * sqrt(D) = (x1 + y1 *sqrt(D))kxn+1 = x0xn +Dy0yn , yn+1 = y0xn+ x0y原创 2016-09-04 11:28:01 · 1065 阅读 · 0 评论 -
Baby_Step_Giant_Step
Baby_Step_Giant_Step//求解的是a^x = b(mod c)的最小x解 struct node { int num; int val;} baby[maxn];bool cmp(node a, node b) { if (a.val != b.val) return a.val < b.val; return a.num < b.num原创 2016-09-04 11:35:48 · 368 阅读 · 0 评论 -
一些数列
原创 2016-09-04 11:42:15 · 230 阅读 · 0 评论 -
GCD/扩展欧几里得
GCDLLI gcd(LLI a, LLI b) { return b == 0 ? a : gcd(b, a % b);}LCM关于最小公倍数的结论:如果lcm(a,b) == n其中n=p1e1* p2e2 * p3e3…… * pnexa=p1a1* p2a2 * p3a3…… * pnaxb=p1b1 *原创 2016-09-04 11:51:49 · 269 阅读 · 0 评论 -
素数判断及筛法
单个素数判断//素数判断(小数据)int prime(int n) { if (n == 0 || n == 1) return 0; if (n == 2) return 1; if (n % 2 == 0) return 0; for (int i = 3; i * i <= n; i = i + 2) if (n原创 2016-09-04 11:54:57 · 372 阅读 · 0 评论 -
欧拉函数
欧拉定理如果两个正整数a和n互质,则n的欧拉函数 φ(n) 可以让下面的等式成立:aφ(n)=1(modn);如果两个正整数a和n互质,那么一定可以找到整数b,使得 ab-1 被n整除,或者说ab被n除的余数是1。这时,b就叫做a的“模反元素”。a的 φ(n)-1 次方,就是a的模反元素欧拉函数 //求单个数字的欧拉函数,复杂度为O(√n原创 2016-09-04 12:16:02 · 451 阅读 · 0 评论 -
组合数/Lucas定理
组合数/Lucas定理//组合数公式LLI Combination(LLI n, LLI m) { //求(n,m) LLI a = 1, b = 1; for (LLI i = n; i > n - m; i--) a = a * i; for (LLI i = m; i > 0; i--) b = b * i; retur原创 2016-09-04 12:23:09 · 326 阅读 · 0 评论 -
快速乘/快速幂/矩阵快速幂
快速乘/快速幂/矩阵快速幂//快速乘LLI Quick_mul(LLI a,LLI b,LLI mol){ a %= mol; LLI re = 0; while(b){ if(b & 1) re = (re + a) % mol; b >>= 1; a = (a << 1) % mol;原创 2016-09-04 12:41:33 · 500 阅读 · 0 评论