HDU 6175 算术
题目大意
求 $\sum_{i = 1}^{n} \sum_{j = 1}^{m} \mu(\lcm(i, j))$ 。
$ 1 \le n, m \le 10^6 $ 。
分析
不妨设 $ n \le m$ 。
$ \mu(\lcm(i, j)) = \mu(i) \mu(j) \mu(\gcd(i, j)) $
令 $S = \sum_{i = 1}^{n} \sum_{j = 1}^{m} \mu(\lcm(i, j))$
\begin{aligned}
S &= \sum_{i = 1}^{n} \sum_{j = 1}^{m} \mu(i) \mu(j) \mu(\gcd(i, j)) \\
&= \sum_{d = 1}^{n} \mu(d) \sum_{i = 1}^{n} \sum_{j = 1}^{m} \mu(i) \mu(j) [\gcd(i, j) = d] \\
&= \sum_{d = 1}^{n} \mu(d) \sum_{i = 1}^{n/d} \sum_{j = 1}^{m/d} \mu(id) \mu(jd) \color{red}{ [\gcd(i, j) = 1] } \\
&= \sum_{d = 1}^{n} \mu(d) \sum_{i = 1}^{n/d} \sum_{j = 1}^{m/d} \mu(id) \mu(jd) \color{red}{ \sum_{k \mid \gcd(i, j)} \mu(k) } \\
&= \sum_{d = 1}^{n} \mu(d) \sum_{i = 1}^{n/d} \sum_{j = 1}^{m/d} \mu(id) \mu(jd) \color{red}{ \sum_{k \mid i, k \mid{j}} \mu(k) } \\
&= \sum_{d = 1}^{n} \mu(d) \sum_{k = 1}^{n / d} \mu(k) \sum_{i = 1}^{n/d} \sum_{j = 1}^{m/d} \mu(id) \mu(jd) \sum_{k \mid i, k \mid{j}} 1 \\
&= \sum_{d = 1}^{n} \mu(d) \sum_{k = 1}^{n / d} \mu(k) \sum_{i = 1}^{n/(dk)} \sum_{j = 1}^{m/(dk)} \mu(idk) \mu(jdk)
\end{aligned}
上述红色部分即用莫比乌斯函数的性质 $\sum_{d\mid n} \mu(d) = [n = 1]$ 进行化简的套路。
固定 $dk$(即令 $t = dk$),有
\begin{aligned}
S = \sum_{t = 1}^{n} \color{blue}{ \sum_{d \mid t} \mu(d) \mu(t / d) } \sum_{i = 1}^{n/t} \mu(it) \sum_{j = 1}^{m/t} \mu(jt)
\end{aligned}
$\sum_{d \mid t} \mu(d) \mu(t / d)$ 即 $(\mu * \mu) (t)$ 。
预处理
对于 $t$ 从 $1$ 到 $n$,求
- $\mu(t)$,用线性筛,复杂度 $O(n)$ 。
- $\sum_{d \mid i} \mu(d) \mu(i / d)$,复杂度 $O(n \log n)$ 。
- $\sum_{i = 1}^{n/t} \mu(it)$ 和 $ \sum_{j = 1}^{m/t} \mu(jt) $,复杂度 $O(m \log m)$ 。
HDU 6175 算术的更多相关文章
- HDU 4643 GSM 算术几何
当火车处在换基站的临界点时,它到某两基站的距离相等.因此换基站的位置一定在某两个基站的中垂线上, 我们预处理出任意两基站之间的中垂线,对于每次询问,求询问线段与所有中垂线的交点. 检验这些交点是否满足 ...
- HDU 2515 Yanghee 的算术【找规律】
题意:中文的题目 找规律可以发现 sum[1]=a[1]+a[2] sum[2]=a[1]+a[3] sum[n]=a[2]+a[3] 解出a[1],就可以求出其他的了 #include<ios ...
- 算术 HDU - 6715 (莫比乌斯反演)
大意: 给定$n,m$, 求$\sum\limits_{i=1}^n\sum\limits_{j=1}^m\mu(lcm(i,j))$ 首先有$\mu(lcm(i,j))=\mu(i)\mu(j)\m ...
- 2017"百度之星"程序设计大赛 - 复赛1001&&HDU 6144 Arithmetic of Bomb【java大模拟】
Arithmetic of Bomb Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- 2018 HDU多校第四场赛后补题
2018 HDU多校第四场赛后补题 自己学校出的毒瘤场..吃枣药丸 hdu中的题号是6332 - 6343. K. Expression in Memories 题意: 判断一个简化版的算术表达式是否 ...
- HDU 4320 Arcane Numbers 1(质因子包含)
http://acm.hdu.edu.cn/showproblem.php?pid=4320 题意: 给出A,B,判断在A进制下的有限小数能否转换成B进制下的有限小数. 思路: 这位博主讲得挺不错的h ...
- 5.Java基础_Java算术/字符/字符串/赋值运算符
/* 算术/字符/字符串/赋值 运算符 */ public class OperatorDemo01 { public static void main(String[] args){ //算术运算符 ...
- HDOJ 2111. Saving HDU 贪心 结构体排序
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 【HDU 3037】Saving Beans Lucas定理模板
http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...
随机推荐
- .netcore 图片处理
.netcore 图片处理 /// <summary> /// 根据文件类型和文件名返回新路径 /// </summary> /// <param name=" ...
- TTTTTTTTTTTTTTTTTT hdu 1800 字符串哈希 裸题
题意:意思是有若干个飞行员,需要在扫帚上练习飞行,每个飞行员具有不同的等级,且等级高的飞行员可以当等级低的飞行员的老师,且每个飞行员至多有且只有一个老师和学生.具有老师和学生关系的飞行员可以在同一把扫 ...
- poj 2566 Bound Found 尺取法 变形
Bound Found Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 2277 Accepted: 703 Spec ...
- k8s节点NotReady问题处理
我把三台虚拟机重启,发现2个节点一直处于NotReady状态,便去查找问题,到最后是因为子节点的kubelet的状态异常了,restart一下就好了,下面转一下解决的思路 昨天晚上,针对K8S环境做了 ...
- springboot + mybatis sql日志
#mapper sql日志 替换成你的mapper接口所在的包名 logging.level.com.example.dao=debug
- sqli-labs(40)
0X01同样是构造闭合 这里的闭合条件是') 构造语句 ?id=');insert into users values(100,'tx','tx')%23 在客户端mysql里面看看 嘿嘿 成功执行 ...
- Unit Test in SpringBoot
此处的Unit Test in SpringBoot 包括: SpringApplication Test Service Test ControllerTest 测试项目结构如下: 代码如下: PO ...
- [翻译]剖析C#中的异步方法
翻译自一篇博文,原文:Dissecting the async methods in C# 有些括号里的是译注或我自己的理解. 异步系列 剖析C#中的异步方法 扩展C#中的异步方法 C#中异步方法的性 ...
- 七、smarty--缓存的控制
1.建议缓存 $smarty->cacheing = true; //设置为2是给每一个模板设置缓存 $smarty->setCacheDir(“”); 2.处理缓存的生命周期 $smar ...
- 【JVM】jstack 查询占用最大资源线程|排查死循环等
jstack 应用 首先通过:ps -ef|grep java 得到java pid 查看哪个线程占用最多资源: 找出该进程内最耗费CPU的线程,可以使用ps -Lfp pid或者ps -mp pid ...