随笔分类 - 数论——线性筛&&分段打表
摘要:题意 求 $\sum_{i=a}^b \sum_{j=1}^i \frac{lcm(i,j)}{i}$. 分析 只需要求出前缀和, $$\begin{aligned}\sum_{i=1}^n \sum_{j=1}^i \frac{lcm(i,j)}{i} &= \sum_{i=1}^n \sum_{
阅读全文
摘要:题意 求 $\sum_{i=1}^n \sum_{j=1}^n gcd(i,j)$. 分析 $$\begin{aligned}\sum_{i=1}^n \sum_{j=1}^n gcd(i,j) &= \sum_{i=1}^n \sum_{j=1}^n d[gcd(i, j)=d] \\&= \su
阅读全文
摘要:转载自https://oi-wiki.org/math/du/ 在莫比乌斯反演的题目中,往往要求出一些数论函数的前缀和,利用 杜教筛 可以快速求出这些前缀和。 杜教筛 求 $\displaystyle S(n)=\sum_{i=1}^n f(i)$ 我们要想办法构造一个 $S(n)$ 关于 $S(\
阅读全文
摘要:转载自https://oi-wiki.org/math/mobius/ 积性函数 定义 若 $gcd(x,y)=1$ 且 $f(xy)=f(x)f(y)$,则 $f(n)$ 为积性函数。 性质 若 $f(x)$ 和 $f(y)$ 均为积性函数,则以下函数为积性函数: $h(x) = f(x^p)$
阅读全文
摘要:素数筛法 如果我们想要知道小于等于 $n$ 有多少个素数呢? 一个自然的想法是我们对于小于等于 $n$ 的每个数进行一次判定。这种暴力的做法显然不能达到最优复杂度,考虑如何优化。 考虑这样一件事情:如果 是合数,那么 的倍数也一定是合数。利用这个结论,我们可以避免很多次不必要的检测。 如果我们从小到
阅读全文
摘要:方法一:动态规划 详情见 知乎——求十亿内所有质数和,怎么做最快?. 以下代码只是其中Python版的翻版 时间复杂度约为 $O(n^\frac{3}{4})$,但在我辣鸡电脑上用了4s 方法二:埃氏筛法 思路很简单,筛出所有的质数再相加。 时间复杂度为 $O(nloglogn)$,在我电脑上用时2
阅读全文
摘要:题意 求 $f(n,a,b)=\sum_{i=1}^n \sum_{j=1}^i gcd(i^a-j^a,i^b-j^b)[gcd(i,j)=1]\%(10^9+7)$,$1 \le n,a,b \le 10^9$,共有 $T$ 组测试,其中只有10组的 $n$ 大于 $10^6$. 分析 首先,当
阅读全文
摘要:题意 设 $$g_m(n)=\begin{cases}& g_m(i) = 0, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 0 \leq i \leq m\\& g_
阅读全文
摘要:题意 设 $f(n)$ 为 $n=ab$ 的方案数,其中 $a,b$ 为无平方因子数。 例如,$f(6)=4$,因为 $6 = 1 \times 6 = 2 \times 3 = 3 \times 2 = 6 \times 1$, $f(12)=2$,因为 $12 = 2 \times 6 = 6
阅读全文
摘要:题意 给定 $d,x$,$f(d,k)$ 表示 $1 \sim k$ 中 $d$ 出现的次数, $k$ 满足 $f(d,k) = k$,求小于 $x$ 的最大的 $k$. 分析 正解不会...,学习了oeis大法。 打表得到前几个数字,然后取oeis上找完整的。 之所以能这么做,是因为 $k$ 只有
阅读全文
摘要:题意 链接 定义 $f(x)$ 为满足以下条件的有序二元组 $(a, b)$ 的方案数(即 $(a, b)$ 与 $(b, a)$ 被认为是不同的方案): $x= ab$ $a$ 和 $b$ 均无平方因子(即因子中没有除1之外的完全平方数) 求 $\displaystyle \sum_{i=1}^n
阅读全文