【XSY2721】求和 杜教筛】的更多相关文章

题目描述 设\(n=\prod a_i^{p_i}\),那么定义\(f_d(n)=\prod{(-1)^{p_i}[p_i\leq d]}\).特别的,\(f_1(n)=\mu(n)\). 给你\(n,k\),求 \[ \sum_{i=1}^n\sum_{j=1}^n\sum_{d=1}^kf_d(\gcd(i,j)) \] \(n\leq {10}^{10},k\leq 40\) 题解 先做一些简单的处理 \[ \begin{align} ans&=\sum_{i=1}^n\sum_{j=1}…
4805: 欧拉函数求和 Time Limit: 15 Sec  Memory Limit: 256 MBSubmit: 614  Solved: 342[Submit][Status][Discuss] Description 给出一个数字N,求sigma(phi(i)),1<=i<=N Input 正整数N.N<=2*10^9 Output 输出答案.   Sample Input 10 Sample Output 32 HINT   Source By FancyCoder   直…
https://www.lydsy.com/JudgeOnline/problem.php?id=4805 给出一个数字N,求sigma(phi(i)),1<=i<=N https://blog.csdn.net/popoqqq/article/details/45023331 ←杜教筛的一些讲解 杜教筛用来求积性函数前缀和,本题同bzoj 3944,bzoj 3944多了一个求sigma( μ ( i ) ) #include<iostream> #include<cstd…
bzoj3944 题目描述 输入 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问 输出 一共T行,每行两个用空格分隔的数ans1,ans2 样例输入 6 1 2 8 13 30 2333 样例输出 1 1 2 0 22 -2 58 -3 278 -3 1655470 2 bzoj4805 同上,不需要求mu 题解 杜教筛 公式推导: 这里有一个难点(其实也不能算难),就是由枚举d|i到枚举j≤⌊n/i⌋.此时可以看作下面语句的i是上面语句的i/d,…
[BZOJ3944]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 题解: 当i等于1时就是答案,剩余的部分递归算下去就行了(先预处理出1000000以内的答案,其余的答案要用…
[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…
[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_…
题目描述 给你\(n,p\),求 \[ \sum_{i=1}^n\sum_{j=1}^i\sum_{k=1}^i\gcd(i,j,k)\mod p \] \(n\leq {10}^9\) 题解 \[ \begin{align} ans&=\sum_{i=1}^n\sum_{j=1}^i\sum_{k=1}^i\gcd(i,j,k)\\ &=\sum_{i=1}^n\sum_{j=1}^i\sum_{k=1}^i\sum_{d|\gcd(i,j,k)}\varphi(d)\\ &=\…
题意 求 \[ \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…
传送门 思路 (以下令\(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(…
杜教筛求 \(\phi(n)\), \[ S(n)=n(n+1)/2-\sum_{d=2}^n S(\frac{n}{d}) \] 答案为 \[ \sum_{d=1}^n \phi(d) h(\frac{n}{d}) \] 其中 \(h(n)=\sum_{i=1}^n i^2\) 顺便学习了一波 unordered_map #include <bits/stdc++.h> #include <unordered_map> using namespace std; #define i…
题意 求\(\sum_{i=1}^{n}\varphi(i)和\sum_{i=1}^{n}\mu(i)\) \(n <= 2^{31}-1\) 不会做啊... 只会线性筛,显然不能线性筛 这个时候就需要杜教筛 怎么筛 先看一下狄利克雷卷积 假设我们要求\(F(i)=\sum_{i=1}^{n}f(n)\)而\(n(10^{11}左右)\)比较大不能线性筛时考虑杜教筛 套路的推导: 先随意找一个函数\(g(i)\)和\(f(i)\)求狄利克雷卷积: \[(g * f)(n) = \sum_{d|n…
因为要求数值不同,不妨设gcd(x,y)=1.由提示可以知道,x/y是纯循环小数的充要条件是x·klen=x(mod y).因为x和y互质,两边同除x,得klen=1(mod y).那么当且仅当k和y互质,存在len使该式成立. 于是现在要求的就是 k是固定的,先不管后面一部分.套路地化式子: 设f(i)=[i⊥k].注意到k很小,并且显然有gcd(j,k)=gcd(j%k,k).于是O(k)的预处理出f的前缀和. 那么几乎已经做到线性了,能拿到84分,感觉非常棒. 然而要A掉还需要低于线性的做…
BZOJ3944: Sum(杜教筛模板) 题面描述 传送门 题目分析 求\(\sum_{i=1}^{n}\mu(i)\)和\(\sum_{i=1}^{n}\varphi(i)\) 数据范围线性不可做. 需要使用杜教筛. 杜教筛可以在非线性时间里求出一个积性函数的前缀和. 借这里先写一些杜教筛内容...或许以后会补总结(雾 最开始扔积性函数: \(\mu(n)\),莫比乌斯函数 \(\phi(n)\),欧拉函数. \(d(n)\),约数个数. \(\sigma(n)\),约数和函数. \(\eps…
Description 去年的Lucas非常喜欢数论题,但是一年以后的Lucas却不那么喜欢了. 在整理以前的试题时,发现了这样一道题目"求Sigma(f(i)),其中1<=i<=N",其中 表示i的约数个数.他现在长大了,题目也变难了. 求如下表达式的值: 其中 表示ij的约数个数. 他发现答案有点大,只需要输出模1000000007的值. Input 第一行一个整数n. Output 一行一个整数ans,表示答案模1000000007的值. Sample Input 2…
Dirichlet 卷积是两个定义域在正整数上的函数的如下运算,符号为 $*$ $(f * g)(n) = \sum_{d|n}f(d)g(\frac{n}{d})$ 如果不强调 $n$ 可简写为 $f * g$ 常用: $\mu * 1 = \epsilon$ $\phi * 1 = id$ $\epsilon(n) = [n=1]$ $id(n)=n$ Mobius 反演是基于 Dirichlet 卷积的一种....化简式子的方法? 比较有用的结论就是 $\mu * 1 = [n=1]$ 由…
题面 传送门 题解 这题有毒--不知为啥的错误调了半天-- 令\(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…
\(\color{#0066ff}{题 目 描 述}\) 给定一个正整数\(N(N\le2^{31}-1)\) 求 \(\begin{aligned} ans_1=\sum_{i=1}^n\varphi(i) \end{aligned}\) \(\begin{aligned} ans_2=\sum_{i=1}^n \mu(i) \end{aligned}\) \(\color{#0066ff}{输 入 格 式}\) 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N…
题目链接 简单的数学题 题目描述 输入一个整数n和一个整数p,你需要求出 \[\sum_{i=1}^n\sum_{j=1}^n (i\cdot j\cdot gcd(i,j))\ mod\ p\]  其中\(gcd(a,b)\)表示\(a\)与\(b\)的最大公约数 输入 一行两个整数\(p,n\) 输出 一行一个整数,为题目中所求值 样例 样例输入 998244353 2000 样例输出 883968974 数据范围 \(n\leq 10^{10}\) \(5\times 10^8 \leq…
题面: 传送门 就是让你求$ \varphi\left(i\right) $以及$ \mu\left(i\right) $的前缀和 思路: 就是杜教筛的模板 我们把套路公式拿出来: $ g\left(1\right)S\left(n\right)=\sum_{i=1}^{n}\left(g\ast f\right)\left(i\right)-\sum_{i=2}^{n}g\left(i\right)S\left(\frac ni\right) $ 其中函数$f$分别为$\varphi$以及$\…
首先感谢又强又嘴又可爱脸还筋道的国家集训队(Upd: WC2019 进候选队,CTS2019 不幸 rk6 退队)神仙瓜 ( jumpmelon ) 给我讲解这三种筛法~~ 由于博主的鸽子属性,这篇博客可能会无限期咕咕咕 线性筛 这种算法是比较基础的筛法,在入门时就已经学习用它来筛一定范围内的质数了,因此具体算法流程无需赘述.但在筛质数的基础上,这种算法由于其优越性质在处理数论函数时也被广泛应用.这里直接给出筛出小于 \(N\) 的质数的模板. void init() { for (int i…
目录 题目链接 思路 代码 题目链接 传送门 思路 首先我们将原式化简: \[ \begin{aligned} &\sum\limits_{l_1=1}^{n}\sum\limits_{l_2=1}^{n}\dots\sum\limits_{l_k=1}^{n}gcd(l_1,l_2,\dots,l_k)^2&\\ =&\sum\limits_{d=1}^{n}d^2\sum\limits_{l_1=1}^{n}\sum\limits_{l_2=1}^{n}\dots\sum\li…
题意 求 $\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_{j=1}^i \frac{j}{gcd(i,j)} \\&= \sum_{d=1}^n \sum _{i=1}^n \sum_{j=1}^i \frac{j}{d} \cdot [gcd(i,j…
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…
杜教筛 \[ \begin{split} (g*f)(i)&=\sum_{d|i}g(d)f(\frac id)\\ \Rightarrow g(1)S(n)&=\sum_{i=1}^n(g*f)(i)-\sum_{i=2}^ng(i)S(\frac ni) \end{split} \] 其中,\(S(x)\)为\(f()\)的前缀和. 套路一:\(\mu\) 由\((1*\mu)=e\),取\(g(x)=1\). \[ \begin{split} S(n)=1-\sum_{i=2}^nS…
除了最后一题都比较简单就写一起了 P4450-双亲数 题目链接:https://www.luogu.com.cn/problem/P4450 题目大意 给出\(A,B,d\)求有多少对\((a,b)\)满足\(gcd(a,b)=d\)且\(a\in[1,A],b\in[1,B]\) 解题思路 很显然的容斥,枚举\(d\)的倍数\(i\),然后容斥系数就是\(\mu(\frac{i}{d})\). 时间复杂度\(O(n)\) code #include<cstdio> #include<c…
题面传送门 首先我们来探究一下什么样的 \((a,b)\) 满足 \(p(a,b)=1\).不难发现只要点 \((1,0)\) 能够到达,那么网格上所有点都能到达,因为由于 \((1,0)\) 能够到达,将坐标轴旋转一下 \((0,1)\) 也能到达,因此对于坐标系中任意一点 \((x,y)\),重复 \(x\) 次 \((0,0)\to(1,0)\) 的过程,再重复 \(y\) 次 \((0,0)\to(0,1)\) 的过程就能够到达 \((x,y)\). 其次,注意到本质不同的移动向量只有四…
本文内容概要: \(A=\sum\limits_{i=1}^n\dfrac1{\sqrt i}=1+\dfrac1{\sqrt2}+\cdots+\dfrac1{\sqrt n}\) \(O(\sqrt n)\) ,将给出一种只需使用初中数学知识的放缩 \(B=\sum\limits_{i=1}^n\sqrt i=1+\sqrt2+\cdots+\sqrt n\) \(O(n\sqrt n)\) ,使用积分进行放缩 \(C=\sum\limits_{i=1}^n\dfrac1i=1+\dfrac…
[题目链接] 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…