Min_25 筛与杜教筛】的更多相关文章

杜教筛 \(\) 是 \(\) 的前缀和,\(\), \(\) 同理. 假设 \( × = ℎ\) ,并且 \(, \) 易求出,\(\) 难求出. 那么 \[H () = \sum_{ \cdot ≤} () () = \sum_{≤} () (\frac {} {})\\ = f(1)\cdot () + \sum_{2≤≤} () (\frac {} {})\] 有: \[f(1)\cdot G(n)=H(n)-\sum_{2≤≤} () (\frac {} {}) \] 整除分块,可以在…
首先感谢又强又嘴又可爱脸还筋道的国家集训队(Upd: WC2019 进候选队,CTS2019 不幸 rk6 退队)神仙瓜 ( jumpmelon ) 给我讲解这三种筛法~~ 由于博主的鸽子属性,这篇博客可能会无限期咕咕咕 线性筛 这种算法是比较基础的筛法,在入门时就已经学习用它来筛一定范围内的质数了,因此具体算法流程无需赘述.但在筛质数的基础上,这种算法由于其优越性质在处理数论函数时也被广泛应用.这里直接给出筛出小于 \(N\) 的质数的模板. void init() { for (int i…
题意 求 \[ \sum_{i = 1}^{n} \sum_{i = 1}^{n} f(\gcd(i, j))^k \pmod {2^{32}} \] 其中 \(f(x)\) 为 \(x\) 的次大质因子,重复的质因子计算多次. 特别的,定义 \(f(1) = 0, f(p) = 0\) ,此处 \(p\) 为质数. 题解 首先先莫比乌斯反演前几步. \[ ans = \sum_{d = 1}^{n} f(d)^k \sum_{i = 1}^{\lfloor \frac{n}{d} \rfloo…
题意: 求\(\sum_{i=1}^n\varphi(i)\)和\(\sum_{i=1}^n\mu(i)\) 思路: 由性质可知:\(\mu*I=\epsilon,\varphi*I=id\)那么可得: \[S_{\varphi}(n)=\sum_{i=1}^n\varphi(i)=\frac{(n+1)n}{2}-\sum_{i=2}^nS_{\varphi}(\lfloor\frac{n}{i}\rfloor)\\ S_{\mu}(n)\sum_{i=1}^n\mu(i)=1-\sum_{i…
[LOJ#572]Misaka Network 与求和(莫比乌斯反演,杜教筛,min_25筛) 题面 LOJ \[ans=\sum_{i=1}^n\sum_{j=1}^n f(gcd(i,j))^k\] 其中\(f(x)\)表示\(x\)的次大质因子. 题解 这个数据范围不是杜教筛就是\(min\_25\)筛了吧... 看到次大质因子显然要\(min\_25\)筛了吧... 莫比乌斯反演的部分比较简单,懒得写过程了. \[ans=\sum_{T=1}^n [\frac{n}{T}]^2\sum_…
Description Input 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问 Output 一共T行,每行两个用空格分隔的数ans1,ans2 Sample Input 6 1 2 8 13 30 2333 Sample Output 1 1 2 0 22 -2 58 -3 278 -3 1655470 2 正解:线性筛+杜教筛. 杜教筛板子题.然而感觉自己还不是很理解的样子.. 唐老师博客:http://blog.csdn.net/skyw…
hihocoder #1456 : Rikka with Lattice(杜教筛) 题意 : 给你一个\(n*m\)方格图,统计上面有多少个格点三角形,除了三个顶点,不覆盖其他的格点(包括边和内部). 答案对于\(998244353\)取模... (\(n,m \le 5 * 10^9\)) 题解 : 这个题十分的巧妙... 集训时是大佬ztzshiwo出的.. 据他所说,是不那么杜教筛的杜教筛QAQ 考试时候提示了一个皮克定理... 皮克定理: \[S=a+\frac{b}{2}-1\] \(…
BZOJ3944: Sum(杜教筛模板) 题面描述 传送门 题目分析 求\(\sum_{i=1}^{n}\mu(i)\)和\(\sum_{i=1}^{n}\varphi(i)\) 数据范围线性不可做. 需要使用杜教筛. 杜教筛可以在非线性时间里求出一个积性函数的前缀和. 借这里先写一些杜教筛内容...或许以后会补总结(雾 最开始扔积性函数: \(\mu(n)\),莫比乌斯函数 \(\phi(n)\),欧拉函数. \(d(n)\),约数个数. \(\sigma(n)\),约数和函数. \(\eps…
3944: Sum Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 6201  Solved: 1606[Submit][Status][Discuss] Description   Input 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问   Output 一共T行,每行两个用空格分隔的数ans1,ans2   Sample Input 6 1 2 8 13 30 2333 Sample Outp…
链接 luogu 思路 为了做hdu来学杜教筛. 杜教筛模板题. 卡常数,我加了register居然跑到不到800ms. 太深了. 代码 // luogu-judger-enable-o2 #include <bits/stdc++.h> #define ll long long using namespace std; const int _=5000030; int vis[_],pri[_],cnt,N,limit,mu[_]; ll phi[_]; unordered_map<i…
P4213 [模板]杜教筛(Sum) 题目描述 给定一个正整数$N(N\le2^{31}-1)$ 求 $$ans_1=\sum_{i=1}^n\varphi(i)$$ $$ans_2=\sum_{i=1}^n \mu(i)$$ 输入输出格式 输入格式: 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问 输出格式: 一共T行,每行两个用空格分隔的数ans1,ans2 输入输出样例 输入样例#1: 复制 6 1 2 8 13 30 2333 输出样例#1…
[BZOJ 3930] [CQOI 2015]选数(莫比乌斯反演+杜教筛) 题面 我们知道,从区间\([L,R]\)(L和R为整数)中选取N个整数,总共有\((R-L+1)^N\)种方案.求最大公约数刚好为K的选取方案有多少个.由于方案数较大,你只需要输出其除以1000000007的余数即可. \[N,K,L,H \leq 10^9,H-L \leq 10^5\] 分析 \(\because \gcd(ka,kb)=k\gcd(a,b)\),我们先把\(L,R\)除以\(K\),然后问题就变成了…
最近重新系统地学了下这几个知识点,以前没发现他们的联系,这次总结一下. 莫比乌斯反演入门:https://blog.csdn.net/litble/article/details/72804050 线性筛筛常见积性函数及其代码:https://blog.masterliu.net/algorithm/sieve/ 积性函数与线性筛(包括普通线性函数):https://blog.csdn.net/weixin_42562050/article/details/87997582 bzoj2154/b…
[复习]莫比乌斯反演,杜教筛,min_25筛 莫比乌斯反演 做题的时候的常用形式: \[\begin{aligned}g(n)&=\sum_{n|d}f(d)\\f(n)&=\sum_{n|d}\mu(\frac{d}{n})g(d)\end{aligned}\] 实际上还有 \[\begin{aligned}g(n)&=\sum_{d|n}f(d)\\f(n)&=\sum_{d|n}\mu(\frac{n}{d})g(d)\end{aligned}\] 证明可以看看这里,…
[51NOD 1847]奇怪的数学题(莫比乌斯反演,杜教筛,min_25筛,第二类斯特林数) 题面 51NOD \[\sum_{i=1}^n\sum_{j=1}^nsgcd(i,j)^k\] 其中\(sgcd\)表示次大公约数. 题解 明摆着\(sgcd\)就是在\(gcd\)的基础上除掉\(gcd\)的最小因数. 所以直接枚举\(gcd\). \[\begin{aligned} ans&=\sum_{i=1}^n\sum_{j=1}^n sgcd(i,j)^k\\ &=\sum_{i=1…
题目大意: 给定\(n\le 10^9\),求: 1.\(\sum_{i=1}^n\mu(i^2)\) 2.\(\sum_{i=1}^n\varphi(i^2)\) 解释 1.\(\sum_{i=1}^n\mu(i^2)\) 直接输出1 因为对于\(\forall i>1\)有\(\mu (i^2)=0\) 2.\(\sum_{i=1}^n\varphi(i^2)\) for 杜教筛: 构造函数\(f(i)=\varphi(i^2)\),则有\(f*\mathrm{id}=id^2\),具体推导…
传送门 思路 (以下令\(F(n)=f(n)^k\)) 首先肯定要莫比乌斯反演,那么可以推出: \[ ans=\sum_{T=1}^n \lfloor\frac n T\rfloor^2\sum_{d|T}F(d)\mu(T/d) \] 可以整除分块,但后面的东西怎么办呢? 令\(G(T)=F*\mu\),那么就有 \[ ans=\sum_{T=1}^n \lfloor\frac n T\rfloor^2G(T) \] 看到\(\mu\)函数有点烦,考虑用杜教筛的式子消去它. \[ g(1)S(…
杜教筛 适用条件 你要能构造出\(g(x),h(x)\),使得\(h=f*g\). \(G(x),H(x)\)的值可以快速计算. 过程 我们要求的是\(F(n)=\sum_{i=1}^{n}f(i)\),现在有\(h=f*g\),\(G(x),H(x)\)分别为\(g(x),h(x)\)的前缀和. \[ \begin{aligned} H(n)=&\sum_{i=1}^{n}h(i)\\ =&\sum_{i=1}^{n}\sum_{d|i}f(\frac{i}{d})g(d)\\ =&am…
题面 传送门 题解 这题有毒--不知为啥的错误调了半天-- 令\(f(i)={sgcd(i)}\),那么容易看出\(f(i)\)就是\(i\)的次大质因子,用\(i\)除以它的最小质因子即可计算 于是题目所求即为 \[\sum_{i=1}^n\sum_{j=1}^n{f(\gcd(i,j))}^k\] \[\sum_{d=1}^n {f(d)}^k\sum_{i=1}^{\left\lfloor\frac{n}{d}\right\rfloor}\sum_{j=1}^{\left\lfloor\f…
题目链接 题意:给定\(n\le 10^9\),求:\(F(n)=\sum_{i=1}^n\sum_{j=1}^i\frac{\mathrm{lcm}(i,j)}{\mathrm{gcd}(i,j)}\),对1e9+7取模 推式子: \(F(n)=\sum_{i=1}^n\sum_{j=1}^i\frac{\mathrm{lcm}(i,j)}{\mathrm{gcd}(i,j)}\) \(=\sum_{i=1}^n\sum_{j=1}^i\frac{ij}{\gcd^2(i,j)}\) \(=\…
[题目链接] http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1244 [题目大意] 计算莫比乌斯函数的区段和 [题解] 利用杜教筛: 求F(n)=∑(f(i)) 存在g=f*I,定义G(n)=∑(g(i)) 就可以得到F(n)=G(n)-∑(F(n/i)) 加一些预处理我们可以做到O(n^(2/3))求解F(n) 我们知道积性函数∑(miu(d))=0(d|n),又有∑(miu(d))=1(n=1), 所以∑∑(miu…
[题目链接] https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1237 [题目大意] 求[1,n][1,n]最大公约数之和 [题解] 枚举最大公约数k,得到答案为2*∑(k*phi_sum(n/k))-n*(n+1)/2 phi_sum可以利用杜教筛实现 [代码] #include <cstdio> #include <algorithm> using namespace std; typedef lon…
1220 约数之和 题意:求\(\sum_{i=1}^n \sum_{j=1}^n \sigma_1(ij)​\) \[ \sigma_0(ij) = \sum_{x\mid i}\sum_{y\mid j}[(x,y)=1]\\ \sigma_1(ij) = \sum_{x\mid i}\sum_{y\mid j}x\cdot\frac{j}{y}[(x,y)=1] \\ \] 怎么证明第二个式子? \[ \sigma_1(n) = \prod_i(1 + p_i + p_i^2 + ...…
4176: Lucas的数论 题意:求\(\sum_{i=1}^n \sum_{j=1}^n \sigma_0(ij)\) \(n \le 10^9\) 代入\(\sigma_0(nm)=\sum_{i\mid n}\sum_{j\mid m}[(i,j)=1]\) 反演得到 \[ \sum_{d=1}^n \mu(d) (g(\frac{n}{d}))^2 \\ g(n) = \sum_{i=1}^n \sigma_0(i) \] 杜教筛\(\mu \ \sigma_0\)的前缀和 当然和前面…
1222 最小公倍数计数 题意:求有多少数对\((a,b):a<b\)满足\(lcm(a,b) \in [1, n]\) \(n \le 10^{11}\) 卡内存! 枚举\(gcd, \frac{a}{gcd}, \frac{b}{gcd}\),然后\(\mu\)代入,就是 \[ \sum_{d=1}^{\sqrt{n}}\mu(d) \sum_i \sum_j \sum_k [ijk \le \frac{n}{d^2}] \] 问题就是怎么求后面的式子了 一开始我是 \[ f(n) = \s…
1237 最大公约数之和 V3 题意:求\(\sum_{i=1}^n\sum_{j=1}^n(i,j)\) 令\(A(n)=\sum_{i=1}^n(n,i) = \sum_{d\mid n}d \cdot \varphi(\frac{n}{d})\) \(ans = 2*\sum_{i=1}^n A(i) -\sum_{i=1}^ni\) 套路推♂倒 \[ S(n) =\sum_{i=1}^n\sum_{d\mid i}d \cdot \varphi(\frac{i}{d}) =\sum_{i…
[BZOJ4805]欧拉函数求和(杜教筛) 题面 BZOJ 题解 好久没写过了 正好看见了顺手切一下 令\[S(n)=\sum_{i=1}^n\varphi(i)\] 设存在的某个积性函数\(g(x)\) \[(g*\varphi)(i)=\sum_{d|i}g(d)\varphi(\frac{i}{d})\] \[\sum_{i=1}^n(g*\varphi(i))(i)\] \[=\sum_{i=1}^n\sum_{d|i}g(d)\varphi(\frac{i}{d})\] \[=\sum…
我也不知道什么是"莫比乌斯反演"和"杜教筛" Part0 最近一直在搞这些东西 做了将近超过20道题目吧 也算是有感而发 写点东西记录一下自己的感受 如果您真的想学会莫比乌斯反演和杜教筛,请拿出纸笔,每个式子都自己好好的推一遍,理解清楚每一步是怎么来的,并且自己好好思考. Part1莫比乌斯反演 莫比乌斯反演啥都没有,就只有两个式子(一般只用一个) 原来我已经写过一次了,再在这里写一次 就只写常用的那个吧 基本的公式 对于一个函数\(f(x)\) 设\(g(x)=\…
[BZOJ3930]选数(莫比乌斯反演,杜教筛) 题面 给定\(n,K,L,R\) 问从\(L-R\)中选出\(n\)个数,使得他们\(gcd=K\)的方案数 题解 这样想,既然\(gcd=K\),首先就把区间缩小一下 这样变成了\(gcd=1\) 设\(f(i)\)表示\(gcd\)恰好为\(i\)的方案数 那么,要求的是\(f(1)\) 设\(g(x)=\sum_{d|x}f(d)\) 所以\(g(x)\)表示\(x|gcd\)的方案数 这个不是很好求吗? 所以一波莫比乌斯反演 \[f(1)…
[BZOJ4652]循环之美(莫比乌斯反演,杜教筛) 题解 到底在求什么呢... 首先不管他\(K\)进制的问题啦,真是烦死啦 所以,相当于有一个分数\(\frac{i}{j}\) 因为值要不相等 所以有\(i \perp j\),也就是\(gcd(i,j)=1\) 现在考虑\(K\)进制 先从熟悉的\(10\)进制入手 如果一个最简分数是纯循环小数 我们知道,他的分母里面不含\(2,5\) 而且,巧极了\(10=2*5\) 于是乎,\(YY\)一下 如果\(K\)进制中一个分数是纯循环小数 那…