![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
Dijkstra__
这个作者很懒,什么都没留下…
展开
-
反素数
求最小的因子个数为n个正整数typedef unsigned long long ULL;const ULL INF = ~0ULL;const int MAXP = 16;int prime[MAXP] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53};int n;ULL ans;void dfs转载 2017-07-22 14:57:32 · 1005 阅读 · 0 评论 -
莫比乌斯函数详解
在讲这个函数之前。最好先了解欧拉函数。我们用 \ 记为整除。 记得小学的时候整除和整除以的概念么?别混淆。 2整除4 记作 2\4。欧拉函数用来表示。那么根据法里级数的展开(这个感觉和ACM关系不大就先不介绍了。大概讲的就是构造所有最简分数的一种树。而法里级数n定义分母比如对于分母为12.化简后:分别为:1/12 1/6 1/4 1/3 5/1转载 2017-07-28 10:33:40 · 11208 阅读 · 0 评论 -
莫比乌斯函数
莫比乌斯函数,数论中的战斗机 莫比乌斯函数,数论函数,由德国数学家和天文学家莫比乌斯(August Ferdinand Möbius ,1790–1868)提出。梅滕斯(Mertens)首先使用μ(n)作为莫比乌斯函数的记号。而据说,高斯(Gauss)比莫比乌斯早三十年就曾考虑过这个函数。莫比乌斯函数在数论中有着广泛应用。设f为算术函数,F为f的和函数,有F转载 2017-07-28 10:31:41 · 2144 阅读 · 0 评论 -
素数筛法
素数筛法 素数是ACM中数论题目常常涉及到得问题。最基本的问题就是如何判断一个数是素数以及如何快速的打出题目涉及范围的素数表。当然数论中关于素数的问题会比较复杂,在这里仅就素数的不同筛法做出总结。 素数,就是只有1和自身两个约数的正整数。2是最小的素数。根据定义,我们就可以直接判断一个数字n是否是素数。优化后的复杂度是O(n*sqrt(n))。至于为什么,我就不做赘述了转载 2017-07-27 00:52:10 · 1019 阅读 · 0 评论 -
hdu6069
Counting DivisorsTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)Total Submission(s): 1612 Accepted Submission(s): 595Problem DescriptionIn mat原创 2017-08-04 11:39:36 · 1046 阅读 · 0 评论 -
素数筛法
素数筛法 素数是ACM中数论题目常常涉及到得问题。最基本的问题就是如何判断一个数是素数以及如何快速的打出题目涉及范围的素数表。当然数论中关于素数的问题会比较复杂,在这里仅就素数的不同筛法做出总结。 素数,就是只有1和自身两个约数的正整数。2是最小的素数。根据定义,我们就可以直接判断一个数字n是否是素数。优化后的复杂度是O(n*sqrt(n))。至于为什么,我就不做赘述了转载 2017-07-26 13:51:19 · 961 阅读 · 0 评论 -
奇数幻方
Codeforces 710C (奇数幻方)关于幻方的知识简单描述一下奇数幻方的构造方法之一:数字1放在第一行中间对于下一个数,循环找前一个数字的右上(相邻的网格 超出界限 则类似 第一行的右上是第 N 行,第N列的右上是第一列)若右上存在数字,则放到正下方。 手动模拟下自然就知道了~~#include#define me(a,b) memset(a,b,sizeof转载 2017-07-25 09:10:06 · 1424 阅读 · 0 评论 -
八数码八境界
八数码的八境界 研究经典问题,空说不好,我们拿出一个实际的题目来演绎。八数码问题在北大在线测评系统中有一个对应的题,题目描述如下:EightTime Limit: 1000MS Memory Limit: 65536K Special JudgeDescription The 15-puzzle h转载 2017-07-25 09:08:55 · 1013 阅读 · 0 评论 -
gcd以及扩展gcd详解
扩展欧几里德算法-求解不定方程,线性同余方程。 设过s步后两青蛙相遇,则必满足以下等式: (x+m*s)-(y+n*s)=k*l(k=0,1,2....) 稍微变一下形得: (n-m)*s+k*l=x-y令n-m=a,k=b,x-y=c,即 a*s+b*l=c 只要上式存在整数解,则两青蛙能相遇,否则不能。 首先想到的一个方法是用两次for转载 2017-07-25 09:08:25 · 2016 阅读 · 0 评论 -
poj2891
扩展欧几里德第二题~这个题真是搞了好长时间才懂啊~~题目大意: 有一个数mod ri 等于ai ,求这个数,若求不出来输出“-1”。解题思路:对于 x=r1(mod a1) x=r2(mod a2)相当于解不定方程:x*a1+y*a2=r2-r1先求解方程:x*a1+y*a2=r2-r1=gcd(a1,a2)得出解x,则方程x*转载 2017-07-24 14:59:59 · 1240 阅读 · 0 评论 -
逆元详解
今天我们来探讨逆元在ACM-ICPC竞赛中的应用,逆元是一个很重要的概念,必须学会使用它。 对于正整数和,如果有,那么把这个同余方程中的最小正整数解叫做模的逆元。 逆元一般用扩展欧几里得算法来求得,如果为素数,那么还可以根据费马小定理得到逆元为。 推导过程如下 求现在来看一个逆元最常见问题,求如下表达式的值转载 2017-07-24 14:54:40 · 1100 阅读 · 0 评论 -
中国剩余定理求解同余线性方程组—(互素和非互素的情况)
中国剩余定理 中国剩余定理是中国古代求解一次同余方程组的方法,是数论中的一个重要定理。 设m1,m2,m3,...,mk是两两互素的正整数,即gcd(mi,mj)=1,i!=j,i,j=1,2,3,...,k.则同余方程组:x = a1 (mod n1)x = a2 (mod n2)...x = ak (mod nk)模[n1,n2,...nk]有唯转载 2017-07-24 14:45:30 · 2965 阅读 · 0 评论 -
hdu6053 莫比乌斯函数
hdu6053题意给出 AA 数组,问有多少种 BB 数组满足下面条件。1≤Bi≤Ai1≤Bi≤AiFor each pair (l,r) (1≤l≤r≤n),gcd(bl,bl+1...br)≥2(l,r) (1≤l≤r≤n),gcd(bl,bl+1...br)≥2 。分析首先肯定要去枚举 gcdgcd ,如果暴力去计算,对于每个 gcdgcd ,我们转载 2017-07-28 11:25:59 · 1104 阅读 · 0 评论