随笔分类 -  数论

摘要:题解 其实该题考察的就是一个质因数分解,然后进行组合即可。 证明如下: $n=p_1^{\alpha_1} \times p_2^{\alpha_2} \times ... \times p_k^{\alpha_k}$ $d=p_1^{\beta_1} \times p_2^{\beta_2} \t 阅读全文
posted @ 2020-11-15 21:03 Fool_one 阅读(1049) 评论(0) 推荐(0)
摘要:题解 依据数据范围,暴力枚举自然不可行,则应当转变思维。 gcd(i, j) = d 表示 (i, j) 的最大公约数为 d,而 count(d) 则表示最大公约数为 d 的数对的个数,count(d) * d * d 则求解的为最大公约数为 d 的所有数的和,此时问题的核心则转化为如何求 coun 阅读全文
posted @ 2020-11-13 21:33 Fool_one 阅读(284) 评论(0) 推荐(0)
摘要:题解 先看数据范围,n, k <= 1e6,如果采用队列解题,时间复杂度能达到 $O(n * k)$ 必定会超时。 显然,这一题应该采用数学方法,可用 $O(n)$ 的时间复杂度解决,如何解决呢? 我们先来看示意图: 这实际上是一个递推关系,f[i] 表示有 i 个人,从 1 开始报数,最后出局人的 阅读全文
posted @ 2020-11-10 16:20 Fool_one 阅读(303) 评论(0) 推荐(0)
摘要:题解 这一题看起来很简单,不就是质数吗?但是要在$O(n)$的时间复杂度内实现,还是比较难理解的,在此之前会介绍朴素筛法和埃氏筛法,最后介绍线性筛法。 一、朴素筛法 朴素筛法相对比较简单,在 i 枚举 1 - n 的过程中,不断筛掉 i 对应的倍数即可,这样的确可以把所有的合数都筛掉,但是会有大量重 阅读全文
posted @ 2020-10-30 00:12 Fool_one 阅读(148) 评论(0) 推荐(0)