bzoj4804】的更多相关文章

[bzoj4804]欧拉心算 Description 给出一个数字\(N\),计算 \[\sum_{i=1}^n\sum_{j=1}^n \varphi(\gcd(i,j))\] Input 第一行为一个正整数\(T\),表示数据组数. 接下来\(T\)行为询问,每行包含一个正整数\(N\). \(T\le 5000,N\le 10^7\) Output 按读入顺序输出答案 很多方法 可以推式子到 \[\sum_{T=1}^n\lfloor\frac{n}{T}\rfloor^2\sum_{k|…
一通套路后得Σφ(d)μ(D/d)⌊n/D⌋2.显然整除分块,问题在于怎么快速计算φ和μ的狄利克雷卷积.积性函数的卷积还是积性函数,那么线性筛即可.因为μ(pc)=0 (c>=2),所以f(pc)还是比较好算的,讨论一波即可. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorith…
[BZOJ4804]欧拉心算 Description 给出一个数字N Input 第一行为一个正整数T,表示数据组数. 接下来T行为询问,每行包含一个正整数N. T<=5000,N<=10^7 Output 按读入顺序输出答案. Sample Input 1 10 Sample Output 136 题解: 显然,$\varphi$和$\mu$都是积性函数,卷起来肯定也是积性函数,可以线性筛来搞.但是本蒟蒻到这里就卡住了,怎么线性筛啊?于是找题解,发现题解都说很简单.无奈,只好打表找规律了.(…
题面戳我 题意:求 \[\sum_{i=1}^{n}\sum_{j=1}^{n}\phi(\gcd(i,j))\] 多组数据,\(n\le10^7\). sol SBT 单组数据\(O(\sqrt n)\)都是套路了,完整公式就不写了. 最后要线性筛出来的积性函数长成这样 \[h(T)=\sum_{d|T}\mu(\frac Td)\phi(d)\] 这个要怎么筛?我这种小菜鸡就只会大力分类讨论 我都快数不清我分了几种了 1.\(h(1)=1\) 2.\(h(p)=\mu(p)\phi(1)+\…
题意 求$$\sum_1^n \sum_1^n \phi(gcd(i, j))$$ $T \leqslant 5000, N \leqslant 10^7$ Sol 延用BZOJ4407的做法 化到最后可以得到 $$\sum_{T = 1}^n \frac{n}{T} \frac{n}{T} \sum_{d \mid T}^n \phi(d) \mu(\frac{T}{d})$$ 后面的那个是积性函数,直接筛出来 注意这个函数比较特殊,筛的时候需要分几种情况讨论 1. $H(p) = p - 2…
题意:求\(\sum_{i=1}^n\sum_{j=1}^n\phi(gcd(i,j))\) 题解:\(\sum_{i==1}^n\sum_{j=1}^n\sum_{d=1}^n[gcd(i,j)==d]*\phi(d)\) \(=\sum_{d=1}^n\phi(d)*\sum_{i=1}^n\sum_{j=1}^n[gcd(i,j)==d]\) \(=\sum_{d=1}^n\phi(d)*\sum_{i=1}^{\lfloor \frac{n}{d} \rfloor}[gcd(i,j)==…
题解 显然有 \(ans=\sum _{i=1} ^{n} \lfloor \frac{n}{i} \rfloor \sum _{d|i} \mu(d) \phi (\frac{i}{d})\) 前半部分就是个整除分块,后半部分直接让脑子受到了冲击. 但是,我们知道,两个积性函数的\(\text{Direchlet}\)卷积还是积性函数,我们考虑构造线性筛. 我们看到其中有\(\text{Mobius}\)函数,鲁迅曾经说过"一看到\(\mu\),就想到积性函数,就想到唯一分解,就想到\(>…
Description 给定数字\(n\)(\(n\le 10^7\)),求: \[ \sum_{i=1}^n\sum_{j=1}^n\varphi(\gcd(i,j)) \] ​ 多组数据输入,数据组数\(T\le5000\). Solution ​ 简单的一题,直接推导: \[ \begin{aligned} \sum_{i=1}^n\sum_{j=1}^n\varphi(\gcd(i,j))&=\sum_{d=1}^n\varphi(d)\sum_{i=1}^{\lfloor \frac…
Description 给出一个数字N 求\(\sum_{i=1}^{n}\sum_{j=1}^{n}\varphi(gcd(i,j))\) Input 第一行为一个正整数T,表示数据组数. 接下来T行为询问,每行包含一个正整数N. T<=5000,N<=10^7 Output 按读入顺序输出答案. Sample Input 1 10 Sample Output 136 sol 这种题,八成和欧拉函数或者莫比乌斯函数有关...... 那就推式子: \(\sum_{i=1}^{n}\sum_{i…
莫比乌斯反演 我不会推线性筛 留坑…