上一页 1 ··· 13 14 15 16 17
摘要: 根据数论的尿性,一般的定理解决不了的问题怎么办?那就拓展一下呗。 我们先看中国剩余定理,它解决的是一堆同余方程:nΞa1(mod b1),nΞa2(mod b2)...nΞak(mod bk),其中b1,b2...bk两两互质。但不互质的时候怎么办呢?不互质就解决不了了,因为bi和其他b1*b1*. 阅读全文
posted @ 2019-04-18 17:25 修电缆的建筑工 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题目描述 现有两组数字,每组k个,第一组中的数字分别为:a1,a2,...,ak表示,第二组中的数字分别用b1,b2,...,bk表示。其中第二组中的数字是两两互素的。求最小的非负整数n,满足对于任意的i,n - ai能被bi整除。 输入输出格式 输入数据的第一行是一个整数k,(1 ≤ k ≤ 10 阅读全文
posted @ 2019-04-18 14:03 修电缆的建筑工 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 这是个名字很新奇的算法。它用来求方程axΞb(mod c)的最小非负整数解,其中ac互质。 先看欧拉定理:aΦ(c)Ξ1(mod c)。所以x肯定在0~Φ(c)-1里面。所以我们可以考虑枚举x。但显然会超时。 大步小步算法将我们的暴力枚举变得更加优雅了些。它的步骤是:把0~c-1分成m=√Φ(c)块 阅读全文
posted @ 2019-04-16 10:31 修电缆的建筑工 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 学Pollard_Rho之前,你需要学会:Miller Rabin。 这是一个很高效的玄学算法,用来对大整数进行因数分解。 我们来分解n。若n是一个素数,那么就不需要分解了。所以我们还得能够判断一个数是否为素数才行。而n是个大整数,显然普通的试除法和筛法都是不够它跑的。所以我们就得考虑用Miller 阅读全文
posted @ 2019-04-15 16:39 修电缆的建筑工 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 看一个数是否为质数,我们通常会用那个O(√N)的算法来做,那个算法叫试除法。然而当这个数非常大的时候,这个高增长率的时间复杂度就不够这个数跑了。 为了解决这个问题,我们先来看看费马小定理:若n为素数,a与n互质,则an-1Ξ1(mod n)。于是有人想过把它倒过来判断n是否为素数。首先,若a与n不互 阅读全文
posted @ 2019-04-15 09:35 修电缆的建筑工 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 其实本人学树剖时还完全没到学树剖的水平,但本着在图论这一块的兴趣就看了看,结果发现树剖还挺简单? 树剖是什么呢?看看它的全称:“树链剖分”。顾名思义,就是把一棵树解剖成一个个链子咯。然后在每条链上维护需要的信息,比如最小值、最大值、权值和什么的。这棵树的红线就是剖出来的链条:特别地,一个点也算一条链 阅读全文
posted @ 2019-04-12 21:09 修电缆的建筑工 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 树的直径 定义:树中最远的两个节点之间的距离被称为树的直径。 怎么求呢?有两种官方的算法(不要问官方指谁我也不晓得): 1.两次搜索。首先任选一个点,从它开始搜索,找到离它最远的节点x。然后从x开始搜索,找到离x最远的点y,那 么E(x, y)的长度就是树的直径。时间复杂度为O(n)。 2.树形dp 阅读全文
posted @ 2019-03-21 20:21 修电缆的建筑工 阅读(366) 评论(0) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17