随笔分类 -  质数筛法

摘要:题意:求$\sum_{i = 1}^{n}\sum_{j = 1}^{m}lcm(i, j)$ 思路: $\sum_{i = 1}^{n}\sum_{j = 1}^{m}lcm(i, j)$ $= \sum_{i = 1}^{n}\sum_{j = 1}^{m}\frac{i * j}{\gcd(i 阅读全文
posted @ 2020-08-24 17:56 君顾 阅读(170) 评论(0) 推荐(0)
摘要:题意: $d(n)$为$n$的约数个数, 求$\sum_{i = 1} ^ {n}\sum_{j = 1}^{m}d(i * j)$ 思路:$d(i * j) = \sum_{x|i}\sum_{y|j}[gcd(x, y) = 1]$ $= \sum_{x | i}\sum_{y | j}\sum 阅读全文
posted @ 2020-08-24 14:30 君顾 阅读(212) 评论(0) 推荐(0)
摘要:Code: #pragma GCC optimize(3) #pragma GCC optimize(2) #include <map> #include <set> // #include <array> #include <cmath> #include <queue> #include <st 阅读全文
posted @ 2020-08-18 21:43 君顾 阅读(130) 评论(0) 推荐(0)
摘要:题意: 给定$A, B, d$, 求$\sum_{a=1}^{A}\sum_{b=1}^{B}[\gcd(a, b) = d]$ 思路: $\sum_{a=1}^{A}\sum_{b=1}^{B}[\gcd(a, b) = d]$ 简化式子: $\sum_{a=1}^{\lfloor\frac{A} 阅读全文
posted @ 2020-08-16 15:47 君顾 阅读(127) 评论(0) 推荐(0)
摘要:题意: 给定$n$,求$\sum_{i=1}^{n}\sum_{j=i+1}^{n}\gcd(i, j)$ 思路: $\sum_{i=1}^{n}\sum_{j=i+1}^{n}\gcd(i, j)$ 原式$=$ $\frac{1}{2} * \sum_{i=1}^{n}\sum_{j=1}^{n} 阅读全文
posted @ 2020-08-16 15:14 君顾 阅读(152) 评论(0) 推荐(0)
摘要:题意: 给定$a, b, d$,求满足$1 \leq x \leq a , 1 \leq y \leq b$且$\gcd(x, y)=d$的二元组$(x, y)$的数量 思路: $\sum_{x=1}^{n}\sum_{y=1}^{b}[\gcd(x, y)=d]$ 简化式子: $\sum_{x=1 阅读全文
posted @ 2020-08-14 12:27 君顾 阅读(106) 评论(0) 推荐(0)
摘要:一、质数: 1、试除法判质数: bool is_prime(int n){ if(n < 2) return false; for(int i = 2; i <= n / i; i ++){ if(n % i == 0) return false; } return true; } 2、试除法分解质 阅读全文
posted @ 2020-07-27 20:49 君顾 阅读(164) 评论(0) 推荐(1)
摘要:题意: 给定n个数,删掉最少的数使剩余所有数的最大公约数比删除前所有数的最大公约数大 思路: 先算出所有数的最大公约数g,并将所有数 / g,这时序列内全部数的最大公约数为1,这时我们只要找到序列中每个质数的倍数最多有多少个(设有m个)。 如果全部数为1,输出-1。否则,输出n - m。 注意:直接 阅读全文
posted @ 2020-07-26 22:18 君顾 阅读(210) 评论(0) 推荐(0)
摘要:题意: 在{1,2,3,...,n}中找到两个没有交集的序列使得gcd(ai, bi)>1,即找到ai和bi两两配对,使得他们不互质 思路: 显而易见,> n/2的素数是不能配对的。我们可以先把1~n的素数筛出来,从大到小枚举每个素数p(从小到大会漏)。 对于每个素数p,2p,3p,...... , 阅读全文
posted @ 2020-07-20 21:47 君顾 阅读(190) 评论(0) 推荐(0)